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

在腾讯云轻量应用服务器(Lighthouse)上安装 Nginx + PHP + MySQL(即 LNMP 环境),推荐使用官方镜像或一键脚本(更稳定、适配轻量服务器优化),但也可手动安装。以下是 兼顾安全性、兼容性与腾讯云轻量特性的完整步骤(以 Ubuntu 22.04 LTS 或 CentOS 7/8 为例,优先推荐 Ubuntu 22.04,因腾讯云新实例默认支持更好,且 PHP/MySQL 版本更新):


✅ 前提准备

  1. 选择合适镜像(强烈推荐):

    • 在腾讯云控制台创建轻量服务器时,直接选择「应用镜像」→「LNMP(Ubuntu 22.04)」(腾讯云官方维护,预装 Nginx 1.18+/PHP 8.1+/MySQL 8.0+,已优化防火墙和权限)。
    • 若已创建为「基础系统镜像」(如 Ubuntu 22.04),则按以下手动步骤操作。
  2. 登录服务器

    ssh -i your-key.pem ubuntu@your-server-ip  # Ubuntu 默认用户 ubuntu
    # 或
    ssh -i your-key.pem root@your-server-ip      # CentOS 默认用户 root(若启用)
  3. 更新系统并安装基础工具

    # Ubuntu/Debian
    sudo apt update && sudo apt upgrade -y
    sudo apt install -y curl wget gnupg2 software-properties-common lsb-release ca-certificates
    
    # CentOS 7/8(如使用,但建议 Ubuntu)
    # sudo yum update -y
    # sudo yum install -y epel-release curl wget tar gzip

🚀 步骤一:安装 Nginx

# Ubuntu 22.04(官方源已含较新版本)
sudo apt install -y nginx

# 启动并设置开机自启
sudo systemctl enable nginx
sudo systemctl start nginx

# 检查状态
sudo systemctl status nginx  # 应显示 active (running)

# 🔒 配置防火墙(腾讯云安全组 + 系统防火墙)
sudo ufw allow 'Nginx Full'  # Ubuntu 自带 ufw
sudo ufw enable

✅ 浏览器访问 http://你的服务器IP,应看到 "Welcome to nginx!" 页面。

⚠️ 注意:腾讯云必须在控制台配置安全组规则开放端口(80/443),否则网络无法访问!


🐘 步骤二:安装 MySQL(推荐 MySQL 8.0+)

# Ubuntu 22.04 官方源自带 MySQL 8.0
sudo apt install -y mysql-server

# 运行安全初始化(设 root 密码、禁用匿名用户等)
sudo mysql_secure_installation
# 按提示操作:Y → 设置强密码 → Y → Y → Y → Y

# (可选)允许远程连接(仅限测试,生产环境建议用 SSH 隧道或白名单)
sudo mysql -u root -p <<EOF
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourStrongPass123!';
CREATE USER 'webuser'@'localhost' IDENTIFIED BY 'WebUserPass456!';
GRANT ALL PRIVILEGES ON *.* TO 'webuser'@'localhost';
FLUSH PRIVILEGES;
EOF

✅ 验证:

mysql -u root -p -e "SELECT VERSION();"

☕ 步骤三:安装 PHP 及常用扩展(PHP 8.1+)

# Ubuntu 22.04 默认 PHP 8.1,安装核心及 Web 扩展
sudo apt install -y php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-zip php-opcache

# 配置 PHP-FPM(关键!)
sudo sed -i 's/listen =.*/listen = /run/php/php8.1-fpm.sock/' /etc/php/8.1/fpm/pool.d/www.conf
sudo sed -i 's/;listen.owner =.*/listen.owner = www-data/' /etc/php/8.1/fpm/pool.d/www.conf
sudo sed -i 's/;listen.group =.*/listen.group = www-data/' /etc/php/8.1/fpm/pool.d/www.conf
sudo sed -i 's/;listen.mode =.*/listen.mode = 0660/' /etc/php/8.1/fpm/pool.d/www.conf

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

🌐 步骤四:配置 Nginx 支持 PHP(关键!)

编辑默认站点配置:

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

替换全部内容为以下(支持 .php 解析 + 安全防护):

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    index index.php index.html index.htm;

    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;
    }
}

✅ 重载 Nginx:

sudo nginx -t  # 检查语法
sudo systemctl reload nginx

🧪 步骤五:验证 LNMP 是否工作

  1. 创建测试文件:

    echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
  2. 浏览器访问:http://你的服务器IP/info.php
    ✅ 应看到 PHP 信息页,确认 Loaded Modules 中包含 mysqli, pdo_mysql, opcache 等。

  3. (可选)测试数据库连接:

    sudo nano /var/www/html/test_db.php

    内容:

    <?php
    $host = 'localhost';
    $user = 'root';
    $pass = '你的MySQL root密码';
    $conn = new mysqli($host, $user, $pass);
    if ($conn->connect_error) die("连接失败: " . $conn->connect_error);
    echo "MySQL 连接成功!版本:" . $conn->server_info;
    $conn->close();
    ?>

    访问 http://IP/test_db.php 验证。


🔐 生产环境加固建议(必做!)

项目 操作
安全组 腾讯云控制台 → 轻量服务器 → 安全组 → 仅放行 80/443/22,关闭 3306 网络端口
MySQL 远程访问 默认禁止!如需远程管理,用 mysql -h 127.0.0.1 -u root -p 本地连接,或通过 SSH 隧道
PHP 安全 编辑 /etc/php/8.1/fpm/php.ini
expose_php = Off
display_errors = Off
upload_max_filesize = 32M
Nginx 安全头 server{} 块中添加:
add_header X-Frame-Options "DENY";
add_header X-Content-Type-Options "nosniff";
自动更新 sudo apt install unattended-upgrades + 配置自动安全更新

🚨 常见问题速查

现象 解决方案
502 Bad Gateway 检查 php8.1-fpm 是否运行:sudo systemctl status php8.1-fpm;确认 sock 路径一致
403 Forbidden 检查 /var/www/html 权限:sudo chown -R www-data:www-data /var/www/html
Connection refused(MySQL) sudo systemctl status mysql;检查是否绑定 127.0.0.1bind-address = 127.0.0.1 in /etc/mysql/mysql.conf.d/mysqld.cnf
无法访问网络 检查腾讯云安全组实例防火墙(ufw) 是否放行 80 端口

💡 进阶推荐(省心之选)

  • 直接使用腾讯云「LNMP 应用镜像」:控制台创建时选择,5 分钟部署完成,含监控、备份、一键 SSL(Let’s Encrypt)。
  • 用宝塔面板(轻量版)wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh(适合可视化管理,但注意资源占用)。
  • Docker 方式(隔离性强)
    sudo apt install docker.io docker-compose && sudo systemctl enable docker
    # 使用官方镜像:nginx + php:8.1-fpm + mysql:8.0

需要我为你生成:

  • ✅ 一键安装脚本(Shell)
  • ✅ Nginx + PHP-FPM 详细调优参数(针对 1C2G 轻量服务器)
  • ✅ Let’s Encrypt 免费 HTTPS 配置指南
  • ✅ WordPress 快速部署步骤

欢迎随时告诉我 👇 我可立即提供!

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