在 Ubuntu Server 上部署 Web 服务(Nginx + PHP + MySQL),版本选择的核心原则是:优先选用当前的 LTS(Long-Term Support)版本,兼顾稳定性、安全支持周期与软件栈的兼容性。以下是详细建议和操作指南:
✅ 推荐版本:Ubuntu 22.04 LTS(Jammy Jellyfish)
(截至 2024 年中,这是最稳妥、最推荐的选择)
| 项目 | 说明 |
|---|---|
| 支持周期 | 2022年4月发布,标准支持至 2027年4月(桌面版),服务器版获得扩展安全维护(ESM)支持至2032年4月 ✅ |
| 软件栈成熟度 | • Nginx:1.18(默认仓库)→ 可轻松升级至 1.22+(通过 nginx-stable PPA 或官方源)• PHP:8.1(默认,完全兼容 Laravel、WordPress 等主流框架) • MySQL:8.0(默认,稳定且功能完善;也可选 MariaDB 10.6+) |
| 生产就绪性 | 经过大量云平台(AWS/Azure/GCP)、容器环境及企业部署验证,文档丰富,社区/商业支持完善 |
⚠️ 其他版本对比分析:
| 版本 | 状态 | 是否推荐 | 原因 |
|---|---|---|---|
| Ubuntu 24.04 LTS(Noble Numbat) | ✅ 新发布的 LTS(2024年4月) | ⚠️ 可选,但建议暂缓用于关键生产环境(需观察3–6个月) | • 软件版本更新(PHP 8.3、MySQL 8.0.33、Nginx 1.24) • 部分第三方 PHP 扩展(如 php-igbinary, php-redis)可能尚未同步适配• 生产环境建议等待首个点版本(如 24.04.1)发布后采用 |
| Ubuntu 20.04 LTS | ❌ 已进入 ESM 阶段(2025年4月结束标准支持) | ❌ 不推荐新部署 | • 标准安全更新已于 2025-04-30 结束(现仅限付费 ESM) • PHP 7.4 已 EOL(2022年底),存在安全风险 • Nginx/MySQL 版本较旧,缺失新特性与性能优化 |
| Ubuntu 23.10 / 23.04(非LTS) | ❌ 已 EOL | ❌ 绝对避免 | • 支持期仅9个月,已停止维护 → 无安全更新,高风险 |
🔧 安装时关键操作建议:
-
安装介质选择
- 下载官方 ISO:https://ubuntu.com/download/server
→ 选择 "Ubuntu Server 22.04 LTS"(或待 24.04 稳定后切换) - ✅ 使用 "Minimal installation"(最小化安装)——减少攻击面,更符合服务器最佳实践
- 下载官方 ISO:https://ubuntu.com/download/server
-
安装过程中注意
- 启用 OpenSSH server(必选!便于远程管理)
- 可勾选 "Install third-party software for hardware support"(启用专有驱动/固件,不影响 Web 服务)
- 不要勾选 LAMP stack(Ubuntu 安装器自带的是 Apache + MySQL + PHP,与你需求的 Nginx 冲突)
-
安装后立即执行(关键安全加固)
# 更新系统 & 升级到最新安全补丁 sudo apt update && sudo apt full-upgrade -y && sudo reboot # 启用并配置 UFW(防火墙) sudo ufw allow OpenSSH sudo ufw allow 'Nginx Full' # 或仅 'Nginx HTTP' / 'Nginx HTTPS' sudo ufw enable # 创建非 root 管理员用户(禁用 root SSH 登录) sudo adduser deploy sudo usermod -aG sudo deploy sudo nano /etc/ssh/sshd_config # 设置 PermitRootLogin no sudo systemctl restart sshd -
Web 栈安装(以 22.04 为例)
# 1. 安装 Nginx sudo apt install nginx -y sudo systemctl enable nginx # 2. 安装 PHP 8.1(含常用扩展) sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-zip php-opcache -y # 3. 安装 MySQL(或 MariaDB,推荐 MySQL 8.0) sudo apt install mysql-server -y sudo mysql_secure_installation # 运行安全脚本 # 4. 配置 Nginx + PHP-FPM(示例站点) sudo nano /etc/nginx/sites-available/myapp # → 配置 location ~ .php$ { fastcgi_pass unix:/run/php/php8.1-fpm.sock; ... } sudo ln -sf /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/ sudo nginx -t && sudo systemctl reload nginx
💡 额外建议:
- 容器化替代方案(进阶):若追求极致隔离与可移植性,可考虑 Ubuntu 22.04 主机 + Docker Compose 部署(Nginx/PHP-FPM/MySQL 分容器),但需权衡运维复杂度。
- PHP 版本管理:生产环境建议锁定 PHP 小版本(如
php8.1),避免apt upgrade意外升级导致兼容问题;可用sudo apt-mark hold php8.1*锁定。 - 监控与日志:部署后务必配置
logrotate(Nginx/PHP 日志)、fail2ban(防暴力破解)和基础监控(如htop,netstat,journalctl)。
✅ 总结一句话:
新部署 Web 服务,请直接使用 Ubuntu 22.04 LTS;24.04 LTS 发布半年后(约 2024 年底)可评估升级;永远避开非 LTS 和已 EOL 版本。
如需我为你生成完整的自动化部署脚本(含安全加固、Nginx 配置模板、PHP 优化参数等),欢迎随时告知 👍
云服务器