在腾讯云轻量应用服务器(Lighthouse)上安装 Nginx + PHP + MySQL 是一个非常常见的 LEMP(Linux, Nginx, MySQL, PHP)环境搭建任务。以下是在 Ubuntu 20.04/22.04 系统上的一键式部署教程。
✅ 准备工作
- 登录腾讯云控制台,进入 轻量应用服务器 Lighthouse。
- 创建实例时选择操作系统:推荐使用 Ubuntu 20.04 或 22.04 LTS。
- 获取公网 IP 和登录凭据(SSH 密码或密钥)。
- 使用 SSH 登录服务器:
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
sudo apt install mysql-server -y
初始化安全设置(推荐):
sudo mysql_secure_installATION
运行后会提示你设置 root 密码、删除匿名用户、禁止远程 root 登录等,按提示操作即可。
⚠️ 注意:MySQL 8 默认使用
caching_sha2_password插件,某些旧版 PHP 可能不兼容。如需兼容可修改为mysql_native_password,但建议保持默认并升级 PHP 版本。
🛠️ 步骤四:安装 PHP 及常用扩展
推荐安装 PHP 8.1 或 8.2(以 Ubuntu 22.04 为例):
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
如果系统默认源中没有较新版本的 PHP,可以添加 Ondřej Surý 的 PPA 源:
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
然后安装 PHP 8.2:
sudo apt install php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip -y
启动并启用 PHP-FPM:
sudo systemctl start php8.2-fpm # 根据你安装的版本调整
sudo systemctl enable php8.2-fpm
🛠️ 步骤五:配置 Nginx 支持 PHP
编辑默认站点配置:
sudo nano /etc/nginx/sites-available/default
修改内容如下(关键点是让 .php 文件由 php-fpm 处理):
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;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock; # 根据你的 PHP 版本调整
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /.ht {
deny all;
}
}
保存并退出(Ctrl+O → Enter → Ctrl+X)。
测试配置并重启 Nginx:
sudo nginx -t
sudo systemctl reload nginx
🛠️ 步骤六:创建 PHP 测试文件
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
在浏览器中访问:
http://你的服务器IP/info.php
如果显示 PHP 信息页面,说明 PHP 配置成功。
✅ 可选:配置数据库和用户(用于网站)
登录 MySQL:
sudo mysql -u root -p
创建数据库和用户(示例):
CREATE DATABASE mywebdb;
CREATE USER 'webuser'@'localhost' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON mywebdb.* TO 'webuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
🔐 安全建议
- 防火墙(UFW)设置:
sudo apt install ufw -y
sudo ufw allow 'Nginx Full'
sudo ufw enable
-
关闭不必要的服务端口,仅开放 80、443(HTTPS)、22(SSH)。
-
考虑使用 Let’s Encrypt 免费 SSL 证书(通过 Certbot)开启 HTTPS。
🧩 后续可用
现在你可以部署:
- WordPress
- Laravel
- Typecho
- Discuz!
- 自定义 PHP 网站
只需将代码上传到 /var/www/html 并配置数据库连接即可。
❓常见问题
| 问题 | 解决方法 |
|---|---|
| 502 Bad Gateway | 检查 php-fpm 是否运行,fastcgi_pass 路径是否正确 |
| PHP 不解析 | 检查 Nginx 配置中的 location ~ .php$ 块 |
| 连接不到 MySQL | 确保 PHP 扩展 php-mysql 已安装 |
✅ 总结:这套方案非常适合小型网站、博客、开发测试环境,在腾讯云轻量服务器上运行稳定高效。
需要一键脚本?我可以为你写一个自动化安装脚本(Shell)。欢迎继续提问!
秒懂云