温馨提示×

Linux LNMP如何更新升级

小樊
49
2025-10-01 06:57:57
栏目: 智能运维

Linux环境下LNMP(Linux+Nginx+MySQL+PHP)更新升级指南
LNMP作为常见的动态网站技术栈,其升级需遵循“数据优先、分步验证”的原则,确保服务稳定性和数据安全性。以下是针对各组件的详细升级步骤及注意事项:

一、升级前准备:备份与兼容性检查

  1. 备份关键数据
    升级前务必备份所有重要数据,包括:

    • 网站文件(通常位于/var/www/html/或自定义目录);
    • 数据库(使用mysqldump导出所有数据库:mysqldump -u root -p --all-databases > full_backup.sql);
    • Nginx配置文件(/etc/nginx/)、PHP配置文件(/etc/php/)、MySQL配置文件(/etc/mysql/)。
      备份是应对升级意外的核心保障。
  2. 检查兼容性

    • 查阅新版本软件的变更日志(如MySQL 8.0与5.7的语法差异、PHP 8.0对旧函数的弃用),确认应用支持新版本;
    • 测试环境验证:优先在测试服务器上升级,模拟生产环境运行应用,排查兼容性问题。

二、系统包管理器升级(适用于小版本迭代)

若组件通过系统包管理器(如Ubuntu的apt、CentOS的yum)安装,可使用以下命令快速升级:

  • Ubuntu/Debian(apt)
    sudo apt update && sudo apt upgrade -y  # 更新系统包列表及已安装组件
    sudo apt install nginx mysql-server php  # 升级指定组件至最新版本
    
  • CentOS/RHEL(yum/dnf)
    sudo yum update -y  # 更新系统包列表
    sudo yum install nginx mysql-server php  # 升级指定组件
    

升级完成后,重启服务使新版本生效:

sudo systemctl restart nginx mysql php-fpm  # 根据PHP版本调整(如php7.4-fpm)

三、源码编译升级(适用于大版本或自定义编译)

若组件通过源码编译安装(如Nginx、MySQL),需重新下载源码并编译:

  • Nginx升级

    1. 备份配置文件和数据:cp -r /etc/nginx /etc/nginx_backupcp -r /var/log/nginx /var/log/nginx_backup
    2. 下载新版本源码(如nginx-1.26.2):wget http://nginx.org/download/nginx-1.26.2.tar.gz
    3. 解压并编译:tar -zxvf nginx-1.26.2.tar.gzcd nginx-1.26.2./configure --prefix=/usr/local/nginx --with-http_ssl_module(保留旧配置)→ makesudo make install
    4. 平滑升级:发送USR2信号给旧版本master进程(kill -USR2 $(cat /usr/local/nginx/logs/nginx.pid)),等待新版本启动后,发送QUIT信号停止旧版本(kill -QUIT $(cat /usr/local/nginx/logs/nginx.pid.oldbin))。
  • MySQL升级

    1. 备份数据:mysqldump -u root -p --all-databases > full_backup.sql
    2. 卸载旧版本(谨慎操作,避免误删数据目录):sudo yum remove mysql-server mysql-common(CentOS)或sudo apt remove --purge mysql-server mysql-common(Ubuntu);
    3. 安装新版本:sudo yum install mysql-server(CentOS)或sudo apt install mysql-server(Ubuntu);
    4. 运行升级脚本:sudo mysql_upgrade -u root -p(更新系统表结构),重启服务:sudo systemctl restart mysql
  • PHP升级

    1. 备份配置文件:cp -r /etc/php/ /etc/php_backup/
    2. 使用包管理器升级(如Ubuntu):sudo apt install php7.4(替换为所需版本);
    3. 若源码编译,重复类似Nginx的步骤,注意保留php.ini配置文件。

四、LNMP一键安装包升级(简化操作)

若使用LNMP一键安装包(如官网提供的脚本),可通过以下步骤升级:

  1. 进入LNMP安装目录(如/usr/local/lnmp1.8/);
  2. 运行升级脚本(如./upgrade1.x-1.8.sh1.x为当前版本);
  3. 根据提示选择升级组件(Nginx、MySQL、PHP等),脚本会自动处理依赖和配置。

五、升级后验证

  1. 检查版本
    nginx -v  # 查看Nginx版本
    mysql -V  # 查看MySQL版本(注意是大写V)
    php -v  # 查看PHP版本
    
  2. 测试功能
    • 访问网站页面,确认动态内容正常加载;
    • 执行数据库查询(如SELECT 1;),验证数据访问正常;
    • 检查Nginx日志(/var/log/nginx/error.log)和PHP日志(/var/log/php-fpm.log),确认无报错。

注意事项

  • 逐步升级:避免跨大版本直接升级(如MySQL 5.6→8.0),建议先升级到中间版本(如5.6→5.7→8.0);
  • 依赖处理:升级前检查组件依赖(如PHP扩展与PHP版本的兼容性),手动安装缺失的依赖;
  • 回滚计划:若升级后出现问题,可通过备份快速恢复到升级前状态。

0