努力
加油

Ubuntu Server安装时如何选择适合Web服务(Nginx+PHP+MySQL)的版本?

在 Ubuntu Server 上部署 Nginx + PHP + MySQL(LNMP)环境,版本选择的核心逻辑其实就两点:稳定性优先 和 生命周期匹配。别被那些花哨的新特性迷惑,服务器不是你的个人开发机,跑着业务的服务,稳字当头。

目前主流的选择只有两条路:LTS(长期支持版) 和 非 LTS(短期支持版)。对于生产环境的 Web 服务,我的建议非常明确:无脑选 LTS。

下面我从实际运维角度,给你拆解为什么这么选,以及具体怎么选版本号。

1. 为什么只推荐 LTS?

Ubuntu 的版本发布周期是每半年一个普通版,每两年一个 LTS 版。

  • 普通版(如 23.10, 24.04 之前的某些版本): 支持周期只有 9 个月。这意味着不到一年你就得考虑升级系统。对于 LNMP 这种底层环境,频繁的大版本升级(比如从 22.04 升到 24.04)伴随着内核变化、库文件变动、PHP/MySQL 版本强制更新的风险。你不想在生产环境半夜起来处理因为 apt upgrade 导致的网站宕机吧?
  • LTS 版(如 20.04, 22.04, 24.04): 标准支持周期是 5 年,通过 Extended Security Maintenance (ESM) 可以延长到 10 年甚至更久。这给了你充足的时间去测试新应用、做迁移计划,而不是被版本淘汰推着走。

2. 当前该选哪个 LTS 版本?

截至 2024 年中后期,主要纠结的是 22.04 (Jammy Jellyfish) 和 24.04 (Noble Numbat)。

方案 A:求稳、老项目、云厂商镜像默认项 -> 选 Ubuntu 22.04 LTS

  • 现状: 这是目前国内各大云厂商(阿里云、腾讯云、华为云等)最主流的镜像版本。生态最成熟,教程最多,踩坑记录最全。
  • 软件栈匹配度:
    • Nginx: 官方源提供稳定版,配置习惯大家最熟悉。
    • PHP: 默认仓库通常是 PHP 8.1。如果你需要 PHP 7.4 或 8.0 的老项目,PPA 源支持依然很好。
    • MySQL: 默认是 MySQL 8.0。
  • 适用场景: 现有业务运行稳定,没有强烈的新技术需求;或者团队对 Linux 基础命令不够熟练,需要大量现成解决方案时。

方案 B:新项目、追求性能、接受适度学习成本 -> 选 Ubuntu 24.04 LTS

  • 现状: 2024 年 4 月发布的最新 LTS。它引入了 systemd 的改进、更新的内核(6.8+),对 ARM64(如 AWS Graviton 或国产鲲鹏芯片)的支持更好。
  • 软件栈匹配度:
    • Nginx: 依然是稳定版,但底层依赖库更新。
    • PHP: 默认仓库升级为 PHP 8.3。这是亮点,8.3 在性能和内存管理上有优化,且原生支持 JIT 编译的更多特性。如果你的代码是 PHP 8.0+ 写的,直接享受红利。
    • MySQL: 默认还是 MySQL 8.0,但后续可能会逐步过渡到 8.4 或更高版本(取决于社区节奏)。
  • 风险点: 极少数老旧的第三方软件包可能还没适配最新的 glibc 或内核模块。但对于纯 LNMP 架构,基本没问题。
  • 适用场景: 全新搭建的项目,希望获得更长的技术前沿支持,且团队有能力处理少量兼容性问题。

3. 关于中间件版本的“潜规则”

很多人问:“我应该装 PHP 7.4 还是 8.2?” 这里有个误区:Ubuntu 发行版版本 ≠ 中间件版本。

  • 不要手动编译安装 PHP/Nginx/MySQL,除非你有特殊需求(如特定扩展)。
  • 使用官方源或 PPA:
    • Nginx: 直接用 apt install nginx,它来自 Ubuntu 官方仓库,稳定可靠。
    • PHP: Ubuntu 22.04 默认 PHP 8.1,24.04 默认 PHP 8.3。强烈建议使用 Ondřej Surý 的 PPA (ppa:ondrej/php)。这个 PPA 几乎包含了所有历史版本的 PHP(从 5.6 到 8.3),并且保持更新。这样你可以在同一台机器上切换不同版本的 PHP-FPM,而不必担心系统级冲突。
    • MySQL: 直接使用 apt install mysql-server。如果想用 MariaDB(很多开发者偏好),同样用官方源,MariaDB 10.6/10.11 都是很好的选择,与 MySQL 高度兼容。

4. 实际操作建议

  1. 创建实例时: 如果是在云平台购买 ECS/CVM,直接搜索 “Ubuntu 22.04 LTS” 或 “Ubuntu 24.04 LTS”。优先选带 “HWE”(Hardware Enablement)内核的版本,虽然服务器通常不需要额外驱动,但 HWE 内核包含更新的硬件支持,对新型 CPU 和网络芯片更友好。
  2. 初始配置:
    sudo apt update && sudo apt upgrade -y
    sudo apt install nginx php-fpm php-mysql mysql-server

    注意:上面命令中 php-fpm 会自动拉取当前 Ubuntu 版本对应的默认 PHP 版本(22.04 是 8.1,24.04 是 8.3)。

  3. 如果需要多版本 PHP:
    sudo add-apt-repository ppa:ondrej/php
    sudo apt update
    sudo apt install php8.2-fpm php8.2-mysql  # 举例安装 8.2

    然后通过修改 /etc/nginx/sites-available/default 中的 fastcgi_pass unix:/run/php/php8.2-fpm.sock; 来切换。

总结

  • 保守派 / 企业生产环境 / 老项目迁移: 选 Ubuntu 22.04 LTS。安全、稳妥、资源多。
  • 激进派 / 新项目 / 追求最新 PHP 特性: 选 Ubuntu 24.04 LTS。默认 PHP 8.3 开箱即用,内核更新,未来 5 年无忧。

千万别选 23.10、21.10 等非 LTS 版本,那是给开发者尝鲜用的,不是给服务器用的。记住,服务器的价值在于持续运行,而不是折腾新版本。