温馨提示×

LNMP更新升级方法

小樊
38
2025-11-22 09:50:26
栏目: 编程语言

LNMP更新升级方法

一 升级前准备

  • 备份关键数据与配置:数据库全量备份(如 mysqldump -u root -p --all-databases > backup.sql)、网站目录(如 /var/www/html)、以及 Nginx 配置(如 /etc/nginx/nginx.conf)。
  • 检查可升级包与版本:
    • Debian/Ubuntu:执行 sudo apt list --upgradable | grep -E ‘nginx|mariadb|mysql|php’ 查看可升级项。
  • 校验配置与日志定位:
    • Nginx 配置语法:sudo nginx -t;服务日志:/var/log/nginx/error.log;MariaDB 错误日志:/var/log/mysql/error.log
  • 建议在维护时段操作,并确保有回滚方案(快照/备份)。

二 使用发行版包管理器更新(通用、低风险)

  • Debian/Ubuntu
    • 系统更新:sudo apt update && sudo apt upgrade -y
    • 组件更新与重启:
      • Nginx:sudo apt install nginx -y && sudo systemctl restart nginx
      • MariaDB/MySQL:sudo apt install mariadb-server -y(或 mysql-server),完成后执行安全设置 sudo mysql_secure_installation,再 sudo systemctl restart mariadb/mysql
      • PHP(示例为 PHP 7.4):sudo apt install php7.4 php7.4-fpm php7.4-mysql php7.4-gd php7.4-mbstring -y && sudo systemctl restart php7.4-fpm
  • CentOS/RHEL
    • 系统更新:sudo yum update -y
    • 组件更新与重启:
      • Nginx:sudo yum install nginx -y && sudo systemctl start nginx && sudo systemctl enable nginx
      • MariaDB/MySQL:sudo yum install mariadb-server mariadb -y && sudo systemctl start mariadb && sudo systemctl enable mariadb && sudo mysql_secure_installation
      • PHP(按需选择版本与模块):sudo yum install php php-fpm php-mysqlnd php-mbstring php-gd -y && sudo systemctl enable php-fpm && sudo systemctl restart php-fpm
  • 版本核验:nginx -vmysql --versionmariadb --versionphp -v

三 使用 LNMP 一键安装包的升级脚本(军哥 LNMP)

  • 进入当初解压的 LNMP 安装包目录(升级脚本需在该目录内运行)。
  • 常用升级命令:
    • Nginx:执行 ./upgrade.sh nginx,按提示输入目标版本号(如 1.24.x),支持平滑升级。
    • MySQL:执行 ./upgrade.sh mysql,先输入 root 密码,再输入目标 MySQL 版本号。
    • MariaDB:执行 ./upgrade.sh mariadb,按提示输入目标 MariaDB 版本号。
    • MySQL 转 MariaDB:执行 ./upgrade.sh m2m,按交互提示完成迁移。
    • PHP:执行 ./upgrade.sh php,选择需要的 PHP 版本。
    • phpMyAdmin:执行 ./upgrade.sh phpa
  • 升级过程会在 /root 生成类似 mysql_upgrade_日期.log 的日志,便于排错。

四 回滚与常见问题处理

  • 快速回滚思路:
    • 包管理器方案:使用包管理器降级到旧版本(如 apt install nginx=<旧版本>yum downgrade nginx),并恢复配置文件与网站数据。
    • 一键脚本方案:利用脚本生成的备份与日志,按提示回滚或重新执行升级脚本选择旧版本。
  • 常见问题与要点:
    • 配置文件冲突:升级提示覆盖时,先备份现有配置,再按需合并新配置。
    • 服务启动失败:优先执行配置校验(如 nginx -t),并查看对应错误日志定位问题。
    • PHP-FPM 版本匹配:确保 Nginxfastcgi_pass 指向正确的 PHP-FPM 套接字/端口(如 /run/php/php7.4-fpm.sock127.0.0.1:9000)。
    • 数据库升级风险:跨小版本通常较安全,跨大版本(如 MySQL 5.7 → 8.0)务必先全量备份并充分测试。

0