在腾讯云轻量应用服务器上搭建 LNMP(Linux + Nginx + MySQL + PHP)环境是一个常见的 Web 服务部署需求。以下是基于 Ubuntu 系统的详细步骤,适用于腾讯云轻量应用服务器(Lighthouse)。
✅ 准备工作
-
登录轻量应用服务器控制台
- 访问 腾讯云轻量应用服务器控制台
- 获取你的服务器公网 IP、用户名(默认
ubuntu或root)和密码/密钥
-
连接服务器(使用 SSH)
ssh ubuntu@<你的公网IP>如果是 root 用户:
ssh root@<你的公网IP> -
更新系统包
sudo apt update && sudo apt upgrade -y
🛠️ 步骤一:安装 Nginx
sudo apt install nginx -y
启动并设置开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
验证是否成功:
- 浏览器访问
http://<你的公网IP> - 应看到 "Welcome to nginx!" 页面
🛠️ 步骤二:安装 MySQL(推荐 MariaDB 或 MySQL)
安装 MySQL Server
sudo apt install mysql-server -y
初始化安全设置
sudo mysql_secure_installation
按提示设置 root 密码、移除匿名用户、禁止远程 root 登录等。
⚠️ 注意:部分版本 Ubuntu 默认使用
auth_socket插件,建议设置密码并使用mysql_native_password。
进入 MySQL 设置密码(如果需要):
sudo mysql
然后执行:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
FLUSH PRIVILEGES;
EXIT;
🛠️ 步骤三:安装 PHP 及相关扩展
LNMP 中使用 PHP-FPM 处理 PHP 请求。
sudo apt install php-fpm php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip -y
启动并启用 PHP-FPM:
sudo systemctl start php7.4-fpm # 根据实际版本可能是 php8.1-fpm 等
sudo systemctl enable php7.4-fpm
💡 查看 PHP 版本:
php -v
腾讯云镜像可能预装了特定版本,请根据输出调整命令中的版本号(如php8.1-fpm)。
🛠️ 步骤四:配置 Nginx 支持 PHP
编辑默认站点配置:
sudo nano /etc/nginx/sites-available/default
修改内容如下(关键部分已标注):
server {
listen 80;
server_name your_domain_or_ip;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
# 处理 PHP 文件
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 注意版本匹配
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# 防止隐藏文件被访问(如 .htaccess)
location ~ /.ht {
deny all;
}
}
保存并退出(Ctrl+O → Enter → Ctrl+X)
测试 Nginx 配置语法:
sudo nginx -t
重新加载 Nginx:
sudo systemctl reload nginx
🧪 步骤五:测试 PHP 是否正常运行
创建测试文件:
sudo nano /var/www/html/info.php
写入:
<?php
phpinfo();
?>
保存后,在浏览器中访问:
http://<你的公网IP>/info.php
如果看到 PHP 信息页面,说明 LNMP 搭建成功!
🔐 安全与优化建议
-
防火墙设置(UFW)
sudo ufw allow 'Nginx Full' sudo ufw enable -
删除测试文件(安全)
sudo rm /var/www/html/info.php -
开放端口
- 在腾讯云控制台确保安全组允许
80(HTTP)和443(HTTPS)端口
- 在腾讯云控制台确保安全组允许
-
绑定域名(可选)
- 将域名解析到服务器 IP
- 修改 Nginx 的
server_name为你的域名
-
配置 SSL(Let’s Encrypt)
使用 Certbot 自动配置 HTTPS:sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d yourdomain.com
📦 总结:LNMP 组件状态检查
| 组件 | 启动命令 | 状态检查 |
|---|---|---|
| Nginx | sudo systemctl start nginx |
systemctl status nginx |
| MySQL | sudo systemctl start mysql |
systemctl status mysql |
| PHP-FPM | sudo systemctl start php7.4-fpm |
systemctl status php7.4-fpm |
❓常见问题
-
PHP 不解析?
检查fastcgi_pass路径是否与实际 sock 文件一致(路径可通过ps aux | grep fpm查看)。 -
MySQL 无法登录?
确保使用正确的认证方式,必要时重设 root 密码。 -
Nginx 显示 403?
检查/var/www/html目录权限:sudo chown -R www-data:www-data /var/www/html sudo chmod -R 755 /var/www/html
✅ 至此,你已在腾讯云轻量服务器上成功搭建 LNMP 环境,可用于部署 WordPress、Typecho、Laravel 等 PHP 应用。
如需一键脚本或 Docker 部署方案,也可进一步提供帮助。
轻量云Cloud