温馨提示×

ubuntu lnmp如何更新升级

小樊
44
2025-12-24 03:33:48
栏目: 智能运维

Ubuntu LNMP 更新与升级指南

一 更新前的准备

  • 备份关键数据与配置:包括网站目录(如 /var/www)、数据库(如 /var/lib/mysql)、以及 Nginx 配置(如 /etc/nginx)、PHP-FPM 配置(如 /etc/php/ 各版本目录)、数据库配置等。
  • 检查可用磁盘空间:建议预留至少 20GB,避免升级过程因空间不足中断。
  • 稳定网络与维护窗口:选择业务低峰期执行,确保全程网络稳定。
  • 确认当前版本:便于升级后核对。
    • 查看系统版本:lsb_release -a
    • 查看组件版本:nginx -vmysql --versionphp -v
      以上准备可显著降低升级风险并确保可回滚。

二 常规安全更新与组件升级

  • 更新索引与已安装软件包:
    • sudo apt update && sudo apt upgrade -y
  • Nginx:
    • 升级:sudo apt install --only-upgrade nginx -y
    • 配置语法检查:sudo nginx -t
    • 重启生效:sudo systemctl restart nginx
  • MySQL/MariaDB:
    • 升级:sudo apt install --only-upgrade mysql-server -ysudo apt install --only-upgrade mariadb-server -y
    • 安全加固(首次或周期性):sudo mysql_secure_installation
    • 重启生效:sudo systemctl restart mysqlsudo systemctl restart mariadb
  • PHP(以 PHP-FPM 为例):
    • 升级核心与常用扩展(请将版本号替换为你的实际版本,如 8.1/8.2/8.3):
      • sudo apt install --only-upgrade php php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip
    • 配置语法检查:sudo php-fpm8.x -t(按实际版本号调整)
    • 重启生效:sudo systemctl restart php8.x-fpm
  • 验证运行状态:
    • sudo systemctl status nginxsudo systemctl status mysql/mariadbsudo systemctl status php8.x-fpm
  • 查看日志定位问题:
    • /var/log/nginx/error.log
    • /var/log/mysql/error.log/var/log/mariadb/error.log
    • /var/log/php8.x-fpm.log(按实际版本号调整)
      上述步骤覆盖 Ubuntu 下 Nginx/MySQL/MariaDB/PHP 的常规安全更新与组件升级路径。

三 跨版本升级与注意事项

  • 跨小版本 PHP:在同一 Ubuntu 版本内切换 PHP 小版本(如 8.1 → 8.2/8.3)时,建议:
    • 安装目标版本:sudo apt install php8.2 php8.2-fpm php8.2-mysql …
    • 平滑切换站点 FPM 监听(如将 fastcgi_pass unix:/run/php/php8.1-fpm.sock; 改为 php8.2-fpm.sock
    • 重载 Nginxsudo systemctl reload nginx
    • 验证后再停用旧版本:sudo systemctl disable --now php8.1-fpm
  • 跨大版本 PHP:涉及大量扩展与框架兼容验证,务必先在测试环境验证,再灰度上线。
  • 升级 MySQL/MariaDB 主版本:可能涉及数据字典变更与参数弃用,建议:
    • 完整备份(物理与逻辑皆可)
    • 按官方仓库升级,遵循其升级指引
    • 升级后逐项核对业务与慢查询日志
  • 升级 Nginx:通常安全且平滑,但自定义模块或第三方仓库需额外验证。
  • 配置与语法检查是关键环节:
    • sudo nginx -tsudo php-fpm8.x -t 必须在重启前通过
  • 服务重启顺序建议:PHP-FPM → Nginx → 数据库(避免短暂不可用或连接失败)
    这些注意事项有助于在跨版本升级时降低风险并确保稳定性。

四 系统版本升级与后续清理

  • 执行系统版本升级(如 20.04 → 22.04 → 24.04):
    • 先完成上述常规更新:sudo apt update && sudo apt full-upgrade && sudo reboot
    • 开始发行版升级:sudo do-release-upgrade
    • 按提示完成下载与安装,过程中保持网络与电源稳定
  • 升级后检查:
    • 系统版本:lsb_release -a
    • 服务状态:sudo systemctl status nginx mysql/mariadb php8.x-fpm
  • 清理无用包与缓存:
    • sudo apt autoremove -y && sudo apt autoclean
      系统版本升级会同时带来内核与基础库更新,完成后务必复核 LNMP 组件版本与运行状态。

0