结论:在腾讯云服务器上基于OpenCloudOS系统部署LNMP环境(Linux + Nginx + MySQL + PHP)是一项常见且实用的操作,适合用于搭建网站、Web应用等场景。
一、准备工作
- 确认系统版本:OpenCloudOS 是一款由腾讯主导的开源Linux发行版,兼容CentOS生态,支持yum包管理器。
- 更新系统软件包:
sudo dnf update -y - 安装常用工具(如vim、wget、net-tools等)以方便后续操作:
sudo dnf install -y vim wget net-tools
二、安装Nginx
- 使用dnf直接安装Nginx:
sudo dnf install -y nginx - 启动并设置开机启动:
sudo systemctl start nginx sudo systemctl enable nginx - 验证是否安装成功,访问服务器公网IP应看到Nginx欢迎页。
三、安装MySQL(MariaDB)
- OpenCloudOS默认仓库提供的是MariaDB,它是MySQL的一个分支,功能兼容性良好。
- 安装MariaDB:
sudo dnf install -y mariadb-server mariadb - 启动服务并设置开机自启:
sudo systemctl start mariadb sudo systemctl enable mariadb - 运行安全初始化脚本:
sudo mysql_secure_installation
四、安装PHP及扩展
- 安装EPEL和Remi仓库以获取最新版PHP:
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm - 启用PHP模块流(例如PHP 8.1):
sudo dnf module reset php -y sudo dnf module enable php:remi-8.1 -y - 安装PHP核心组件及常用扩展:
sudo dnf install -y php php-cli php-fpm php-mysqlnd php-zip php-gd php-mbstring php-curl - 修改
/etc/php-fpm.d/www.conf文件中listen = /run/php-fpm/www.sock为listen = 127.0.0.1:9000更便于与Nginx通信。 - 启动并启用PHP-FPM服务:
sudo systemctl start php-fpm sudo systemctl enable php-fpm
五、配置Nginx支持PHP解析
- 编辑默认站点配置文件
/etc/nginx/conf.d/default.conf -
示例配置如下(重点是将请求转发给PHP-FPM处理):
server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.php index.html index.htm; } location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } - 检查语法并重启Nginx:
sudo nginx -t sudo systemctl restart nginx
六、测试LNMP环境
- 创建测试PHP文件:
echo "<?php phpinfo(); ?>" | sudo tee /usr/share/nginx/html/info.php - 浏览器访问
http://你的服务器IP/info.php,如果看到PHP信息页面,则说明LNMP环境已经搭建成功。
七、安全与优化建议
- 关闭不必要的端口和服务
- 配置防火墙(firewalld或iptables)
- 限制对info.php等敏感文件的访问
- 定期备份数据库与网站数据
- 考虑使用Let’s Encrypt配置HTTPS
总结
在腾讯云服务器上使用OpenCloudOS部署LNMP环境是一个成熟且高效的方案。通过yum/dnf包管理器可以快速完成安装与配置,特别适合中小型Web项目上线使用。 如果你是开发者或运维人员,掌握这套流程将大大提升你部署Web服务的能力和效率。
CDNK博客