首页主机资讯centos lnmp如何升级CentOS

centos lnmp如何升级CentOS

时间2025-12-08 17:38:04发布访客分类主机资讯浏览699
导读:CentOS LNMP 环境下升级系统的稳妥做法 一 升级策略与准备 明确目标与路径 同版本小版本升级:如 CentOS 7.9 → 7.9(仅补丁/安全更新),风险最低。 跨小版本升级:如 7.6 → 7.9,可用官方仓库或切换到...

CentOS LNMP 环境下升级系统的稳妥做法


一 升级策略与准备

  • 明确目标与路径
    • 同版本小版本升级:如 CentOS 7.9 → 7.9(仅补丁/安全更新),风险最低。
    • 跨小版本升级:如 7.6 → 7.9,可用官方仓库或切换到 Vault 指定版本升级。
    • 跨大版本升级:如 CentOS 7 → 8,官方无直接工具,需手动迁移,生产环境不建议直接执行。
  • 备份与回滚预案
    • 备份网站文件、数据库、证书与关键配置:/var/www、/etc/nginx、/etc/my.cnf、/etc/php.ini、/etc/php-fpm.d、SSL 证书等。
    • 记录与导出:当前系统版本(cat /etc/redhat-release)、已安装软件与版本(rpm -qa)、数据库结构与数据(mysqldump)。
    • 准备回滚:保留旧版本二进制与配置、快照/镜像、可回滚的仓库配置。
  • 维护窗口与变更管控
    • 选择低峰时段,设置监控与告警,准备临时静态页或维护页,确保可快速回滚。

二 同版本小版本升级步骤(以 CentOS 7 为例)

  • 更新系统到当前小版本的最新补丁
    • 执行:sudo yum update -y
    • 重启:sudo reboot
  • 重启后核对版本
    • 执行:cat /etc/redhat-release
  • 说明
    • 该方式不改变主版本号,仅应用安全与 bug 修复,适合 LNMP 稳定环境作为常规维护手段。

三 跨小版本升级步骤(以 CentOS 7 内部版本为例)

  • 方式 A:使用官方仓库的 releasever 指定版本
    • 查看当前版本:cat /etc/redhat-release
    • 指定升级到目标小版本(示例为 7.9):sudo yum upgrade --releasever=7.9 -y
    • 清理缓存并重启:sudo yum clean all & & sudo reboot
  • 方式 B:切换到 Vault 仓库后升级
    • 安装/更新 centos-release 以拿到 Vault 路径:sudo yum install centos-release -y
    • 清理缓存:sudo yum clean all
    • 仅启用目标小版本的仓库进行升级(示例为 7.9):sudo yum --disablerepo=‘’ --enablerepo='C7.9’ upgrade
    • 必要时仅升级内核:sudo yum --disablerepo=‘’ --enablerepo='C7.9,epel’ update kernel
    • 将版本标识回退到目标小版本:sudo yum --disablerepo=‘’ --enablerepo='C7.9,epel’ downgrade centos-release
    • 重启并核对:cat /etc/redhat-release
  • 说明
    • 以上方法适用于 CentOS 7 内部的跨小版本升级;升级完成后建议再次执行 yum update 获取最新补丁。

四 跨大版本升级与替代方案(7 → 8)

  • 官方工具与方法
    • CentOS 6/7 上,曾有 preupgrade-assistant 与 redhat-upgrade-tool 的组合用于跨版本升级(示例命令:preupgrade-assistant --force;redhat-upgrade-tool --network 7 …)。但 CentOS 8 之后官方不再提供直接的大版本升级工具,且流程复杂、风险高。
  • 更稳妥的替代路径
    • 新建 CentOS 8/9 或兼容发行版(如 Rocky Linux/AlmaLinux)目标环境,按 LNMP 逐一部署与迁移。
    • 使用 rsync/数据库主从或导出导入等方式迁移网站与数据,逐步切换解析与流量。
    • 适用于生产环境,可显著降低停机与兼容性风险。

五 LNMP 组件升级与验证要点

  • 通用备份
    • 网站与上传目录:sudo cp -a /var/www /var/www.bak
    • Nginx:sudo cp -a /etc/nginx /etc/nginx.bak
    • 数据库:mysqldump -u root -p --all-databases > /var/backups/all-databases.sql
    • PHP:sudo cp /etc/php.ini /etc/php.ini.bak;如用 FPM:sudo cp -a /etc/php-fpm.d /etc/php-fpm.d.bak
  • 按安装方式升级
    • 仓库安装(推荐)
      • Nginx:sudo yum update nginx & & sudo systemctl restart nginx
      • MariaDB:sudo yum update mariadb-server mariadb & & sudo systemctl restart mariadb
      • PHP:sudo yum update php php-fpm & & sudo systemctl restart php-fpm
    • 源码编译安装
      • 下载目标版本源码,按既有编译参数 ./configure → make → make install,注意与旧配置兼容;替换二进制后重启服务。
  • 验证
    • 版本核对:nginx -v;mysql -V 或 mariadb -V;php -v
    • 服务状态:systemctl status nginx/mysqld/php-fpm
    • 功能回归:访问站点、登录后台、执行关键业务操作与日志检查。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos lnmp如何升级CentOS
本文地址: https://pptw.com/jishu/766128.html
centos lnmp如何配置数据库 centos如何调整分区大小

游客 回复需填写必要信息