腾讯云轻量服务器安装Nginx、PHP和MySQL的完整步骤是什么?

在腾讯云轻量应用服务器(Lighthouse)上安装 Nginx + PHP + MySQL(即 LEMP 环境),推荐使用 Ubuntu 22.04/24.04 或 CentOS Stream 9(官方镜像已优化,兼容性好)。以下为完整、安全、生产就绪的详细步骤(以 Ubuntu 22.04 LTS 为例,适用于大多数轻量服务器,默认系统盘 ≥ 40GB,内存 ≥ 2GB):


✅ 前提准备

  1. 购买并初始化轻量服务器

    • 选择地域、规格(建议 2核4G 起步,PHP+MySQL较吃资源)
    • 镜像选择:Ubuntu 22.04 LTS(官方推荐,APT源稳定,PHP/MySQL版本较新)

      ⚠️ 避免选“WordPress 应用镜像”等预装环境(可能冲突或过时);如已选,可重装为纯净 Ubuntu。

  2. 登录服务器(SSH)

    ssh -i your-key.pem ubuntu@你的公网IP
  3. 更新系统并设置时区(重要!)

    sudo apt update && sudo apt upgrade -y
    sudo timedatectl set-timezone Asia/Shanghai
    sudo apt install -y curl wget gnupg2 lsb-release ca-certificates

🌐 第一步:安装 Nginx(Web 服务器)

sudo apt install -y nginx
sudo systemctl enable nginx
sudo systemctl start nginx

✅ 验证:浏览器访问 http://你的公网IP → 应显示 “Welcome to nginx!” 页面
⚠️ 若无法访问,请检查:

  • 腾讯云控制台 → 轻量服务器 → 安全组 → 放行端口 80(HTTP)、443(HTTPS,后续配置)
  • 本地防火墙(Ubuntu 默认无 ufw,但可确认):sudo ufw status(若启用,运行 sudo ufw allow 'Nginx Full'

💡 第二步:安装 PHP(推荐 PHP 8.1 或 8.2)

Ubuntu 22.04 默认源含 PHP 8.1,安全且性能优秀:

# 安装核心 PHP 及常用扩展(含 MySQL 支持、OPcache、cURL、GD、XML 等)
sudo apt install -y php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring 
                    php8.1-xml php8.1-xmlrpc php8.1-zip php8.1-opcache php8.1-cli

# 启用并启动 PHP-FPM
sudo systemctl enable php8.1-fpm
sudo systemctl start php8.1-fpm

# 验证 PHP 版本
php -v  # 应输出 PHP 8.1.x

✅ 关键点:php8.1-fpm 是 FastCGI 进程管理器,Nginx 通过它执行 PHP 脚本。


🗄️ 第三步:安装 MySQL(推荐 MySQL 8.0)

Ubuntu 22.04 默认源提供 MySQL 8.0(比 MariaDB 更适配腾讯云生态):

sudo apt install -y mysql-server

# 运行安全加固脚本(强烈推荐!)
sudo mysql_secure_installation

按提示操作(建议:
✅ 设置 root 密码(记牢!)
✅ 移除匿名用户
✅ 禁止 root 远程登录(保持 localhost
✅ 删除 test 数据库
✅ 重新加载权限表)

✅ 验证 MySQL:

sudo mysql -u root -p  # 输入刚设的密码,进入 MySQL CLI
mysql> SELECT VERSION();  -- 应返回 8.0.x
mysql> EXIT;

🔐 生产注意:不要开放 MySQL 3306 端口到公网! 腾讯云安全组默认已屏蔽,保持即可。PHP 与 MySQL 同机通信走 127.0.0.1:3306 或 socket。


⚙️ 第四步:配置 Nginx + PHP-FPM(关键!)

1️⃣ 编辑默认站点配置:

sudo nano /etc/nginx/sites-available/default

替换全部内容为以下生产级配置(支持 PHP、PATH_INFO、防恶意脚本):

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;
    index index.php index.html index.htm index.nginx-debian.html;

    server_name _;

    location / {
        try_files $uri $uri/ =404;
    }

    # 处理 PHP 请求(关键!)
    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;  # 注意版本号匹配!
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    # 防止泄露敏感文件
    location ~ /.ht {
        deny all;
    }
}

2️⃣ 测试配置并重启:

sudo nginx -t  # 检查语法(应输出 "syntax is ok")
sudo systemctl reload nginx

🧪 第五步:测试 PHP 是否正常工作

# 创建测试文件
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

# 设置正确权限(可选,但推荐)
sudo chown -R $USER:$USER /var/www/html/
sudo chmod -R 755 /var/www/html/

✅ 浏览器访问:http://你的公网IP/info.php
→ 应看到完整的 PHP 信息页,重点检查:

  • Server API: FPM/FastCGI
  • mysqlnd 扩展已启用 ✅
  • Loaded Configuration File: /etc/php/8.1/fpm/php.ini

❌ 若报错 502 Bad Gateway:检查 php8.1-fpm 是否运行(sudo systemctl status php8.1-fpm),或 sock 文件路径是否匹配。


🔐 第六步(可选但强烈推荐):配置 HTTPS(Let’s Encrypt)

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.com  # 替换为你的域名(需已解析到该IP)
# 按提示输入邮箱、同意协议、选择自动重定向(强制 HTTPS)

✅ 完成后自动配置 SSL,Nginx 会重载,访问 https://your-domain.com 即可。

💡 无域名?可用腾讯云「轻量应用服务器」自带的 免费二级域名(如 xxx.lighthouseapp.com),Certbot 支持通配符验证(需 DNS 插件,略复杂,新手可先用 HTTP)。


🧹 第七步:基础安全加固(生产必备)

项目 命令/操作
禁用 root SSH 登录 sudo nano /etc/ssh/sshd_configPermitRootLogin nosudo systemctl restart sshd
创建普通用户并授权 sudo sudo adduser deploysudo usermod -aG sudo deploy
启用 UFW 防火墙 sudo ufw allow OpenSSH sudo ufw allow 'Nginx Full' sudo ufw enable
定期自动更新 sudo apt install -y unattended-upgrades sudo dpkg-reconfigure -plow unattended-upgrades

📌 常见问题速查

现象 解决方案
502 Bad Gateway 检查 sudo systemctl status php8.1-fpm;确认 fastcgi_pass 路径与 ls /run/php/ 下 sock 文件一致
Connection refused(PHP 连 MySQL) 检查 MySQL 是否运行:sudo systemctl status mysql;PHP 中连接用 127.0.0.1(非 localhost,避免 socket 冲突)
403 Forbidden 检查 /var/www/html 权限:sudo chown -R www-data:www-data /var/www/html
phpinfo() 不显示 确认 location ~ .php$ 块已正确配置,且 index.phpindex 行中

✅ 最终验证(一键脚本可选)

创建 test-env.sh 验证环境连通性:

#!/bin/bash
echo "=== Nginx Status ==="
systemctl is-active nginx

echo "=== PHP-FPM Status ==="
systemctl is-active php8.1-fpm

echo "=== MySQL Status ==="
systemctl is-active mysql

echo "=== PHP MySQL Extension ==="
php -m | grep mysqli

echo "=== Test DB Connection ==="
mysql -u root -pYOUR_PASSWORD -e "SELECT 1;" 2>/dev/null && echo "✓ MySQL OK" || echo "✗ MySQL Failed"

赋予执行权限并运行:chmod +x test-env.sh && ./test-env.sh


✅ 至此,你已在腾讯云轻量服务器上成功部署 安全、高效、可扩展的 LEMP 环境
下一步可部署 WordPress、Laravel、ThinkPHP 等应用,或配置 Redis、Supervisor 等增强服务。

需要我为你提供:

  • WordPress 一键部署脚本
  • Laravel 11 环境配置指南
  • 自动备份 MySQL + Nginx 日志到 COS 教程
  • Docker 版 LEMP(更隔离,适合多站)

欢迎随时告诉我 👇

祝你搭建顺利!🚀

未经允许不得转载:云计算HECS » 腾讯云轻量服务器安装Nginx、PHP和MySQL的完整步骤是什么?