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

在腾讯云轻量应用服务器(Lightweight Application Server)上安装 Nginx、PHP 和 MySQL(即 LNMP 环境),通常有两种主流方式:使用官方镜像一键部署(推荐,最快最稳)或 手动命令行安装(适合自定义需求)。以下是两种方案的完整步骤:


✅ 方案一:使用腾讯云官方“LNMP”镜像(强烈推荐)

这是最简单、最安全的方式,无需手动安装依赖,开箱即用。

步骤:

  1. 登录腾讯云控制台
    访问 https://console.cloud.tencent.com

  2. 创建/选择轻量应用服务器

    • 若已有服务器:进入「实例」→ 点击目标服务器 → 右侧「重装系统」
    • 若新建:点击「创建轻量应用服务器」
  3. 选择镜像

    • 在「镜像」页面选择 「应用镜像」 分类
    • 搜索并选择 "LNMP" 镜像(如:LNMP 1.0 (Ubuntu 22.04)LNMP 1.5 (CentOS 7/8)

      ✅ 建议选 Ubuntu 22.04 + LNMP 1.5,社区支持好、文档全

  4. 配置其他选项

    • 地域/可用区:就近选择
    • 套餐:根据需求选 CPU/内存/带宽(入门可试 2 核 2G)
    • 密码/密钥对:设置强密码或 SSH 密钥
    • 安全组:默认已开放 80(HTTP)、443(HTTPS)、22(SSH),如需远程数据库可额外放行 3306(⚠️生产环境慎用!)
  5. 确认创建
    等待约 1~2 分钟,服务器启动后记录公网 IP。

  6. 验证环境
    通过终端连接服务器:

    ssh root@<你的公网IP>

    然后检查服务状态:

    # 检查 Nginx
    nginx -v
    systemctl status nginx
    
    # 检查 PHP
    php -v
    systemctl status php-fpm  # Ubuntu 可能叫 php8.x-fpm
    
    # 检查 MySQL
    mysql --version
    systemctl status mysqld   # CentOS: mysqld; Ubuntu: mysql
  7. 测试 Web 访问
    浏览器访问 http://<你的公网IP>,应看到 Nginx 默认页或 PHP 测试页(如 info.php)。

💡 提示:官方镜像通常已预置 /var/www/html/index.html/var/www/html/info.php,可直接测试 PHP 是否工作。


⚙️ 方案二:手动安装 LNMP(适合学习或定制)

适用于需要特定版本、调试环境或从空系统开始的用户。以下以 Ubuntu 22.04 LTS 为例(CentOS 步骤类似,包管理器用 yum/dnf):

前置准备

# 更新系统
sudo apt update && sudo apt upgrade -y

# 安装必要工具
sudo apt install curl wget git -y

1️⃣ 安装 Nginx

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

# 验证
curl http://localhost
systemctl status nginx

✅ 访问 http://<IP> 应看到 "Welcome to nginx!"


2️⃣ 安装 PHP 及常用扩展

# 添加 Ondrej PHP PPA(获取较新 PHP 版本,如 8.2)
sudo add-apt-repository ppa:ondrej/php
sudo apt update

# 安装 PHP-FPM + 常用模块
sudo apt install php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd 
php8.2-mbstring php8.2-xml php8.2-zip php8.2-bcmath -y

# 启用 PHP-FPM
sudo systemctl enable php8.2-fpm
sudo systemctl start php8.2-fpm

# 创建测试文件
sudo mkdir -p /var/www/html
cat <<'EOF' | sudo tee /var/www/html/info.php
<?php phpinfo(); ?>
EOF
sudo chown -R www-data:www-data /var/www/html
sudo chmod 755 /var/www/html/info.php

✅ 访问 http://<IP>/info.php 应显示 PHP 信息页


3️⃣ 安装 MySQL(MariaDB 或 MySQL 5.7/8.0)

方式 A:安装 MariaDB(轻量、兼容性好,推荐)

sudo apt install mariadb-server mariadb-client -y
sudo systemctl enable mariadb
sudo systemctl start mariadb

# 安全加固(交互式设置 root 密码等)
sudo mysql_secure_installation
# 按提示操作:
#   Y -> 删除匿名用户
#   Y -> 禁止 root 远程登录
#   Y -> 删除 test 数据库
#   Y -> 刷新权限

方式 B:安装 MySQL 8.0(需额外源)

wget https://dev.mysql.com/get/mysql-apt-config_0.8.30-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.30-1_all.deb
# 选择 MySQL 8.0,继续安装
sudo apt update
sudo apt install mysql-server -y
sudo systemctl enable mysql
sudo systemctl start mysql
sudo mysql_secure_installation

4️⃣ 配置 Nginx 与 PHP-FPM 联动

编辑 Nginx 站点配置:

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

替换为以下内容(关键部分已标注):

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

    root /var/www/html;
    index index.html index.htm index.php;

    server_name _;

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

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

    # 隐藏 .htaccess 等敏感文件(可选)
    location ~ /. {
        deny all;
    }
}

🔍 检查 PHP-FPM socket 路径:
ls /run/php/ 确认是 php8.2-fpm.sock 还是其他版本。

保存退出后:

# 测试 Nginx 配置
sudo nginx -t

# 重载 Nginx
sudo systemctl reload nginx

✅ 再次访问 http://<IP>/info.php 应正常显示 PHP 信息


5️⃣ (可选)配置防火墙与安全组

  • 本地防火墙(UFW)
    sudo ufw allow 'Nginx Full'
    sudo ufw allow OpenSSH
    sudo ufw enable
  • 腾讯云安全组:确保控制台已放行:
    • TCP 80(HTTP)
    • TCP 443(HTTPS,如需)
    • TCP 22(SSH)
    • ❗ 生产环境不要开放 3306 到公网!仅允许内网或特定 IP 访问数据库

🔐 后续建议(生产环境必备)

项目 操作
修改默认 root 密码 sudo mysql_secure_installation 中设置强密码
禁用远程 root 登录 MySQL 中:CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'strong_pwd'; GRANT ALL ON mydb.* TO 'app_user'@'localhost'; FLUSH PRIVILEGES;
启用 HTTPS 使用 Let’s Encrypt:sudo apt install certbot python3-certbot-nginxsudo certbot --nginx
定期备份 脚本备份数据库 + 网站目录,上传至 COS
监控告警 开启腾讯云云监控,设置 CPU/内存/磁盘告警

📌 常见问题排查

问题 解决方案
访问 404 检查 root 路径是否正确;ls -la /var/www/html/
PHP 不执行(直接下载源码) 检查 Nginx 配置中 fastcgi_pass 路径;确认 php8.2-fpm 服务运行中
MySQL 无法连接 检查 bind-address/etc/mysql/mariadb.conf.d/50-server.cnf 改为 127.0.0.1);确认防火墙未拦截
权限错误 chown -R www-data:www-data /var/www/htmlchmod -R 755 /var/www/html

需要我提供:

  • CentOS 7/8 的手动安装脚本?
  • Docker 版 LNMP 快速部署方案?
  • 自动化部署 Ansible Playbook?
    欢迎告诉我你的具体场景,我可以进一步定制方案! 😊
未经允许不得转载:云知道CLOUD » 腾讯云轻量服务器安装Nginx、PHP和MySQL的完整步骤是什么?