在云服务器上搭建 LNMP(Linux + Nginx + MySQL/MariaDB + PHP)环境时,选择基于 RHEL(Red Hat Enterprise Linux)内核的免费系统,目前最稳妥、主流且社区支持最好的选择是:
✅ 首选推荐:AlmaLinux 或 Rocky Linux
这两个系统是 CentOS 停服后,由原 CentOS 核心成员和社区共同维护的“直接替代品”,目标就是提供与 RHEL 1:1 兼容的长期稳定版。
🏆 详细对比与建议
| 特性 | AlmaLinux | Rocky Linux | CentOS Stream |
|---|---|---|---|
| 背景 | CloudLinux 公司发起,社区驱动 | CentOS 创始人 Gregory Kurtzer 发起 | Red Hat 官方项目 |
| 稳定性 | ⭐⭐⭐⭐⭐ 极高(滚动更新前需测试) | ⭐⭐⭐⭐⭐ 极高(滚动更新前需测试) | ⭐⭐⭐ 中等(上游开发分支,可能含未完全稳定功能) |
| 兼容性 | 1:1 二进制兼容 RHEL | 1:1 二进制兼容 RHEL | 兼容未来 RHEL 版本(非当前稳定版) |
| 社区支持 | 活跃,文档丰富 | 非常活跃,文档丰富 | 官方支持,但面向开发者而非生产服务器 |
| LTS 周期 | 10 年(与 RHEL 同步) | 10 年(与 RHEL 同步) | 随 RHEL 主版本生命周期 |
| 适合场景 | 生产环境、企业级部署 | 生产环境、企业级部署 | 开发测试、想体验最新 RHEL 特性 |
💡 结论:
- 如果你追求“最稳妥” → 选 AlmaLinux 或 Rocky Linux(两者几乎无差别,任选其一即可)。
- 避免使用 CentOS Stream 作为生产服务器,因为它不是“稳定版”,而是“上游预览版”,不适合对稳定性要求高的 LNMP 生产环境。
❌ 不推荐的选择
- CentOS 7/8:已停止维护(EOL),不再接收安全更新,存在严重安全隐患。
- CentOS Stream:如前所述,它是 RHEL 的上游开发分支,不适合生产环境。
- 其他小众 RHEL 克隆版(如 OpenCloudOS、TencentOS、Anolis OS 等):虽然某些云厂商自有系统不错,但生态和第三方教程较少,排查问题成本高。
🛠️ 搭建 LNMP 环境建议(以 AlmaLinux/Rocky 为例)
1. 基础准备
# 更新系统
sudo dnf update -y
# 安装 EPEL 仓库(提供额外软件包)
sudo dnf install epel-release -y
2. 安装 Nginx
sudo dnf install nginx -y
sudo systemctl enable --now nginx
3. 安装 MariaDB(MySQL 替代品,更轻量)
sudo dnf install mariadb-server mariadb -y
sudo systemctl enable --now mariadb
sudo mysql_secure_installation # 初始化安全设置
4. 安装 PHP 及常用扩展
# 安装 PHP 8.x(AlmaLinux/Rocky 默认仓库通常包含较新版本)
sudo dnf install php php-fpm php-mysqlnd php-pdo php-gd php-mbstring php-json php-zip -y
# 启动 PHP-FPM
sudo systemctl enable --now php-fpm
5. 配置 Nginx 与 PHP-FPM 协同工作
编辑 /etc/nginx/conf.d/default.conf 或新建站点配置文件,确保 location ~ .php$ 块正确指向 PHP-FPM socket:
location ~ .php$ {
fastcgi_pass unix:/run/php-fpm/www.sock; # 注意 socket 路径
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
重启 Nginx:
sudo systemctl restart nginx
6. 测试
创建 /usr/share/nginx/html/info.php:
<?php phpinfo(); ?>
访问 http://你的IP/info.php,确认 PHP 信息正常显示。
🔒 安全加固建议
-
启用防火墙:
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload -
禁用 root 远程登录,使用普通用户 + sudo。
-
定期更新系统:
sudo dnf update -y -
考虑安装 Fail2ban 防止暴力破解:
sudo dnf install fail2ban -y sudo systemctl enable --now fail2ban
✅ 最终建议
对于绝大多数用户,选择 AlmaLinux 9 或 Rocky Linux 9 是最稳妥、最安全、社区支持最好的选择。
它们与 RHEL 完全兼容,拥有长达 10 年的支持周期,且能无缝迁移自 CentOS 7/8 的环境。
如需图形化管理面板(如宝塔、CWP),也均完美支持 AlmaLinux/Rocky Linux。
云知识CLOUD