Ubuntu 20.04 在 CN2 VPS 上部署 LNMP 环境需要注意什么?

文章导读
Ubuntu 20.04 在 CN2 VPS 上部署 LNMP 环境,核心在于验证网络线路是否真实走 CN2 段,并在云控制台正确配置安全组放行 80/443 端口。软件层面需关注 MySQL 认证插件兼容性与 PHP 扩展完整性,避免环境搭建后无法连接数据库或页面报错。
📋 目录
  1. A 命令速用版
  2. B 为什么会这样
  3. C 分步处理
  4. D 怎么验证是否生效
  5. E 常见坑
  6. F 常见问题
  7. G 参考来源
A A

Ubuntu 20.04 在 CN2 VPS 上部署 LNMP 环境,核心在于验证网络线路是否真实走 CN2 段,并在云控制台正确配置安全组放行 80/443 端口。软件层面需关注 MySQL 认证插件兼容性与 PHP 扩展完整性,避免环境搭建后无法连接数据库或页面报错。

先说结论:部署成功的关键在于网络线路验证、安全组端口放行以及数据库认证方式配置。

  • 适合:需要稳定长期维护的 Web 项目,且服务器位于日本或美国 CN2 线路节点。
  • 先准备:在云控制台开放 SSH(22)、HTTP(80)、HTTPS(443) 端口,确认系统为 Ubuntu 20.04 LTS。
  • 验收:通过 traceroute 确认路由包含 219.158 段,且 Web 服务能正常响应 HTTPS 请求。

命令速用版

以下命令基于 Ubuntu 20.04 默认源,用于快速安装 LNMP 核心组件:

sudo apt update && sudo apt upgrade -y
sudo apt install -y nginx
sudo apt install -y mysql-server
sudo mysql_secure_installation
sudo apt install -y php-fpm php-mysql php-gd php-mbstring php-curl

为什么会这样

CN2 线路直接影响国内访问速度,而 Ubuntu 20.04 是长期支持版本,软件源稳定性高。部署时若忽略网络验证,可能实际走的是普通线路;若忽略 MySQL 安全配置,可能导致数据库无法连接或存在安全风险。

分步处理

步骤 1:网络与安全组检查
在云控制台确认安全组已放行 22、80、443 端口。使用traceroute www.google.com查看路由,若路径中包含 219.158.x.x 段,则确认为 CN2 线路。

Ubuntu 20.04 在 CN2 VPS 上部署 LNMP 环境需要注意什么?

步骤 2:安装 Nginx 与 MySQL
执行sudo apt install nginx安装 Web 服务器。执行sudo apt install mysql-server安装数据库,随后运行sudo mysql_secure_installation进行安全初始化,设置 root 密码。

步骤 3:安装 PHP 及扩展
Ubuntu 20.04 默认源包含 PHP 7.4,执行sudo apt install php-fpm php-mysql php-gd php-mbstring等扩展。确保安装 php-fpm 以便与 Nginx 联动。

步骤 4:配置 Nginx 联动 PHP
修改/etc/nginx/sites-enabled/default,取消 location ~ \.php$ 块注释,确保 fastcgi_pass 指向正确的 sock 文件路径。

Ubuntu 20.04 在 CN2 VPS 上部署 LNMP 环境需要注意什么?

怎么验证是否生效

使用nginx -vmysql -Vphp -v查看版本确认安装成功。在浏览器访问服务器 IP,看到 Nginx 欢迎页表示 Web 服务正常。创建 info.php 文件写入<?php phpinfo(); ?>,访问该文件确认 PHP 解析生效。

常见坑

防火墙拦截:Ubuntu 默认可能开启 ufw,若未放行 80/443 端口会导致外部无法访问,可执行sudo ufw status检查。

MySQL 认证插件:新版 MySQL 默认使用 caching_sha2_password,部分 PHP 版本不支持,建议在 MySQL 配置中改为 mysql_native_password。

PHP 扩展缺失:WordPress 等程序需要 gd、mbstring 等扩展,安装时需一次性装全,避免后续报错。

Ubuntu 20.04 在 CN2 VPS 上部署 LNMP 环境需要注意什么?

常见问题

MySQL 连接报错 Error establishing a database connection 怎么办?

检查 wp-config.php 中的数据库密码是否正确,并确认 MySQL 用户认证插件是否为 mysql_native_password。

Ubuntu 20.04 默认 PHP 版本是多少?

Ubuntu 20.04 默认软件源提供的 PHP 版本通常为 7.4,如需更高版本需添加第三方源。

安全组端口开放后仍然无法访问 80 端口?

检查服务器内部防火墙 ufw 状态,确认是否执行了 sudo ufw allow 'Nginx Full'。

参考来源

  • 日本 CN2 云主机安装 Web 环境的流程与注意事项
  • Ubuntu 20.04 上 Node.js 生产环境部署:Nginx+PM2 最佳实践
  • Ubuntu24 手动部署 LNMP 环境 - い果粒橙ぺ - 博客园
  • 【简单易懂】Ubuntu20.04 服务器 LNMP 环境安装 Chevereto 图床
  • 手动搭建 LNMP 环境 (Ubuntu)