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

在 Ubuntu Server 上部署 Web 服务(Nginx + PHP + MySQL),版本选择的核心原则是:优先选用当前长期支持(LTS)版本,兼顾稳定性、安全更新周期和软件包生态兼容性。以下是详细建议与实操指南:


✅ 推荐版本(2024 年推荐)

版本 发布时间 ESM 支持截止 说明
Ubuntu 22.04 LTS 2022.04 2032年4月(含5年免费LTS + 5年付费ESM) ✅ 强烈推荐:稳定、主流、软件版本现代(Nginx 1.18+, PHP 8.1+, MySQL 8.0+),社区/文档/教程最丰富,Docker/Cloud 镜像支持完善。
Ubuntu 20.04 LTS 2020.04 2025年4月(免费LTS已结束,需订阅ESM) ⚠️ 可用但不推荐新部署:PHP 7.4 已 EOL,MySQL 8.0 功能受限,安全更新需付费ESM。

❌ 避免非LTS版本(如 23.04、23.10、24.10):仅提供9个月支持,不适合生产环境;频繁升级风险高。


🔧 各组件在 Ubuntu 22.04 LTS 中的默认版本(开箱即用)

组件 默认版本 备注
Nginx 1.18.0(官方源)或 1.22.1(通过 nginx/stable PPA 或 apt install nginx-full) 官方源足够生产使用;如需最新特性(如 QUIC),可添加 nginx.org 官方 APT 源
PHP 8.1(主版本,含 php-fpm、php-mysql、php-curl 等扩展) 完全支持 Laravel、WordPress 等主流框架;可通过 ppa:ondrej/php 获取 8.2/8.3(谨慎评估兼容性)
MySQL 8.0.33+(官方 mysql-server 包) 默认启用强密码策略、InnoDB Cluster 支持;如需 MariaDB,可用 mariadb-server(更轻量,兼容性好)

💡 提示:Ubuntu 22.04 的 php 包已默认包含常用扩展(php-mysql, php-xml, php-gd, php-curl, php-mbstring),安装时勾选「LAMP server」或手动 apt install nginx php-fpm php-mysql mysql-server 即可快速搭建。


🛠 安装时关键操作建议

1. 下载镜像

  • 去官网下载 Ubuntu Server 22.04 LTS ISO:
    👉 https://ubuntu.com/download/server
    (选择 ubuntu-22.04.4-live-server-amd64.iso —— 最新版,含所有安全补丁)

2. 安装过程中

  • 语言/区域/键盘:按需设置
  • 网络配置:建议设为静态 IP 或 DHCP 固定分配(便于后续域名解析)
  • 磁盘分区:
    • 推荐 Guided - use entire disk and setup LVM(LVM 更易扩容)
    • / 分区 ≥ 20GB(Web 服务建议 ≥ 40GB)
    • /var/www 可单独挂载(便于备份/迁移)
  • 软件选择:
    ✅ 务必勾选:

    • OpenSSH server(远程管理必需)
    • ❌ 不要勾选 LAMP server(它会安装 Apache 而非 Nginx!)
      → 安装完成后手动安装 Nginx+PHP+MySQL(见下方命令)

3. 安装后快速部署命令(推荐)

# 1. 更新系统
sudo apt update && sudo apt upgrade -y

# 2. 安装 Nginx + PHP-FPM + MySQL
sudo apt install -y nginx php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-zip mysql-server

# 3. 启用并启动服务
sudo systemctl enable nginx php8.1-fpm mysql
sudo systemctl start nginx php8.1-fpm mysql

# 4. 配置 PHP-FPM(关键!确保 Unix socket 正确)
sudo nano /etc/php/8.1/fpm/pool.d/www.conf
# 确认以下两行未被注释且匹配 Nginx 配置:
# listen = /run/php/php8.1-fpm.sock
# listen.owner = www-data

sudo systemctl restart php8.1-fpm

# 5. 配置 Nginx 站点(示例)
sudo nano /etc/nginx/sites-available/myapp
# → 配置 root /var/www/myapp; 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

🌐 进阶建议(生产环境)

  • ✅ 启用 UFW 防火墙:
    sudo ufw allow OpenSSH && sudo ufw allow 'Nginx Full' && sudo ufw enable
  • ✅ MySQL 安全加固:
    sudo mysql_secure_installation
  • ✅ PHP 安全调优(/etc/php/8.1/fpm/php.ini):
    expose_php = Off  
    display_errors = Off  
    upload_max_filesize = 64M  
    post_max_size = 64M  
    max_execution_time = 300
  • ✅ 启用 Let’s Encrypt HTTPS(使用 Certbot):
    sudo apt install certbot python3-certbot-nginx
    sudo certbot --nginx -d your-domain.com

❓常见疑问解答

Q:能用 Ubuntu 24.04 LTS 吗?
A:24.04 于 2024.04 发布,目前(2024年中)暂不推荐立即用于生产——虽为LTS,但新版本软件栈(PHP 8.3、MySQL 8.0.36)需更多验证,且部分第三方库(如某些 PHP 扩展)可能尚未适配。建议等待 24.04.1(2024年8月)发布后再评估。

Q:需要 MariaDB 还是 MySQL?
A:两者在 Ubuntu 22.04 均成熟稳定。

  • 选 MySQL:若需 AWS RDS 兼容、JSON 文档存储、企业级特性(Audit Log, Firewall)。
  • 选 MariaDB:若偏好更活跃开源社区、更小内存占用、或需兼容旧 MySQL 应用(sudo apt install mariadb-server)。

Q:如何升级现有系统到 22.04?
A:仅支持从 20.04 → 22.04(需先 sudo do-release-upgrade -d),但强烈建议全新安装——避免配置残留风险,更安全可控。


✅ 总结一句话:

选择 Ubuntu Server 22.04 LTS(Jammy Jellyfish)镜像安装,跳过“LAMP server”选项,安装后手动执行 apt install nginx php-fpm php-mysql mysql-server,即可获得稳定、安全、现代化且长期受支持的 Web 服务基础环境。

如需我为你生成完整的自动化部署脚本(含 Nginx 配置模板、PHP 优化、MySQL 初始化等),欢迎随时告知! 🚀

未经允许不得转载:CLOUD技术博 » Ubuntu Server安装时如何选择适合Web服务(Nginx+PHP+MySQL)的版本?