在腾讯云 Ubuntu 系统上安装 LNMP(Linux, Nginx, MySQL, PHP),并没有一个绝对“最好”的版本,选择取决于你的业务需求、性能要求以及维护成本。
不过,基于当前的行业标准和云环境特性,以下是针对各组件的推荐版本组合及选择逻辑:
1. 核心组件推荐版本
| 组件 | 推荐版本 | 理由 |
|---|---|---|
| 操作系统 (Ubuntu) | 22.04 LTS (首选) 或 20.04 LTS | 22.04 是长期支持版,内核更新,对现代硬件和容器化支持更好;20.04 生态更成熟但即将进入维护期。建议优先选 22.04。 |
| Web 服务器 (Nginx) | 1.24+ (稳定版) | Nginx 1.24 是目前较新的稳定分支,性能优化较好。避免使用过老的 1.18 或 1.20,除非有特定的兼容性问题。 |
| 数据库 (MySQL/MariaDB) | MySQL 8.0 或 MariaDB 10.6/10.11 | MySQL 8.0 是主流,性能强且安全性高(默认加密等);如果你习惯 MariaDB 或需要更好的兼容性,选 MariaDB 10.6+。注意:不要在生产环境使用 MySQL 5.7,它已停止官方维护。 |
| PHP 语言 | PHP 8.1 或 PHP 8.2 | 强烈推荐 PHP 8.1+。PHP 7.x 已停止安全更新。PHP 8.1 非常稳定,PHP 8.2 性能略有提升。如果你的框架(如 Laravel)或插件依赖旧代码,才考虑降级到 7.4(仅限过渡)。 |
2. 推荐的三种安装场景方案
根据你的具体技术栈,可以选择以下三种方案之一:
方案 A:使用宝塔面板 (Bt-Panel) —— 最推荐新手/快速部署
如果你希望图形化管理,不想手动敲命令,这是腾讯云用户最常用的方式。
- 操作:在腾讯云服务器控制台安装“宝塔面板”,然后在面板内选择"LNMP"一键安装。
- 优势:可视化配置 Nginx、PHP 多版本切换、网站管理、SSL 证书申请极其简单。
- 版本控制:安装时面板会提供选项,建议选择 Nginx 1.24 + PHP 8.1/8.2 + MySQL 8.0。
方案 B:使用 Docker Compose —— 最推荐现代化运维/微服务
如果你熟悉容器化技术,或者项目需要频繁迁移、隔离环境。
- 操作:编写
docker-compose.yml文件,拉取官方镜像。 - 优势:环境完全一致,升级方便,不污染宿主机系统,易于扩展。
- 示例镜像组合:
- Nginx:
nginx:alpine(最新版) - PHP-FPM:
php:8.2-fpm-alpine - MySQL:
mysql:8.0 - Redis:
redis:alpine(可选)
- Nginx:
方案 C:纯命令行手动安装 (Shell Script) —— 最推荐高性能/极简主义
如果你追求极致的系统纯净度和资源占用,且具备 Linux 运维能力。
- 操作:使用腾讯云官方的脚本或社区成熟的脚本(如
lnmp.org提供的脚本)。 - 优势:无额外软件包干扰,资源占用最低,启动速度最快。
- 注意:需要手动配置防火墙、SSL 证书和 PHP 扩展。
3. 特别注意事项
-
关于 PHP 版本的选择:
- 检查你的应用程序(WordPress, ThinkPHP, Laravel, Discuz 等)是否支持 PHP 8.x。
- 如果是老旧项目(如几年前的 WordPress 主题),可能必须用 PHP 7.4,否则会出现致命错误。如果是新项目,务必坚持使用 PHP 8.1 或 8.2。
-
关于 MySQL 版本:
- 腾讯云原生云数据库(RDS)通常也是基于 MySQL 8.0。如果本地测试用 5.7,上线后可能会因为 SQL 语法差异导致报错。建议直接统一使用 MySQL 8.0。
-
安全性:
- 无论选哪个版本,安装完成后请务必修改 root 密码,禁用 SSH 密码登录(改用密钥),并配置腾讯云的安全组(只开放 80/443 和必要的端口)。
总结建议
-
如果你是个人站长或中小企业,追求效率:
选择 Ubuntu 22.04 LTS + 宝塔面板,在面板中选择 Nginx 1.24 + PHP 8.2 + MySQL 8.0。这是目前性价比最高、维护成本最低的组合。 -
如果你是开发者或团队,追求规范:
选择 Ubuntu 22.04 LTS + Docker,使用官方最新稳定镜像构建 LNMP 环境。
云知识CLOUD