温馨提示×

centos lamp如何更新软件版本

小樊
34
2025-12-23 14:57:40
栏目: 智能运维

CentOS LAMP 组件升级指南

一 升级前准备

  • 备份关键数据与配置:数据库全量备份(如 mysqldump -u root -p --all-databases /path/backup.sql)、网站目录(如 /var/www/html)、以及 /etc/httpd/etc/my.cnf 等关键配置。
  • 检查可用空间与系统状态,预留维护窗口,尽量在测试环境验证后再上生产。
  • 确认当前组件版本:例如 httpd -vmysql --versionmariadb --versionphp -v,便于升级后核对。
  • 如启用防火墙,确保升级后能访问 HTTP/HTTPS(见下文防火墙设置)。

二 系统级与仓库准备

  • 更新系统软件包索引与已装包:
    • CentOS 7/8 常用:sudo yum check-update && sudo yum update -y
    • 如系统为 CentOS 8/Stream 或已迁移到 DNF:可用 sudo dnf check-update && sudo dnf upgrade -y
  • 安装/启用常用仓库:
    • EPEL:sudo yum install -y epel-release
    • Remi(获取新版 PHP 等):sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm(CentOS 7 示例)
  • 如需新版 Apache 且默认仓库版本较旧,可添加可信第三方仓库(示例为 CodeIT):
    • 启用 EPEL 后执行:
      • cd /etc/yum.repos.d
      • wget https://repo.codeit.guru/codeit.elrpm -q --qf "%{VERSION}" $(rpm -q --whatprovides redhat-release).repo
    • 以上准备完成后,再进行各组件升级。

三 组件升级步骤

  • Apache HTTP Server
    • 升级或重装:sudo yum install -y httpd(已安装则为升级)
    • 重启与自启:sudo systemctl restart httpd && sudo systemctl enable httpd
    • 版本核对:httpd -v
  • MariaDB/MySQL
    • MariaDB(系统默认常见):sudo yum install -y mariadb-server && sudo systemctl start mariadb && sudo systemctl enable mariadb && sudo mysql_secure_installation
    • MySQL(如需特定大版本,如 8.0):
      • 添加官方仓库(以 EL7 为例):
        • wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
        • sudo rpm -ivh mysql80-community-release-el7-3.noarch.rpm
      • 安装与启动:sudo yum install -y mysql-community-server && sudo systemctl start mysqld && sudo systemctl enable mysqld
      • 安全初始化:sudo mysql_secure_installation;如为全新安装,查看临时密码:grep ‘temporary password’ /var/log/mysqld.log
  • PHP
    • 启用 Remi 对应版本(示例为 PHP 7.x/8.x):
      • 查看可用模块:yum repolist | grep remi-php
      • 启用目标版本:sudo yum-config-manager --enable remi-php7x(或 remi-php80 等)
    • 升级与扩展:sudo yum update -y php*
    • 重启 Web 服务:sudo systemctl restart httpd
    • 版本核对:php -v
  • 防火墙放行(如启用 firewalld):sudo firewall-cmd --permanent --zone=public --add-service=http --add-service=https && sudo firewall-cmd --reload

四 升级后验证与回滚建议

  • 功能与版本验证
    • 创建探针页:echo “” | sudo tee /var/www/html/info.php,访问 http://服务器IP/info.php 核对 PHP 版本与加载模块
    • 核对服务状态:systemctl status httpdsystemctl status mariadb/mysqld
    • 核对数据库版本:mysql --version 或登录后执行 SELECT VERSION();
  • 常见问题处理
    • 依赖冲突或版本不一致:先清理旧包与缓存(如 yum remove php* 后重装所需版本)、再 yum clean all 后安装;确保启用正确的仓库(如 Remi 对应 PHP 版本)。
    • 配置文件被覆盖:升级前已备份,可按需将自定义配置从备份合并回新配置。
  • 回滚建议
    • 使用 yum history 查看事务并回滚(如 sudo yum history undo ),或基于升级前的备份与快照恢复网站与数据库。

0