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 -v、mysql --version 或 mariadb --version、php -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.el
rpm -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 httpd、systemctl status mariadb/mysqld
- 核对数据库版本:mysql --version 或登录后执行 SELECT VERSION();
- 常见问题处理
- 依赖冲突或版本不一致:先清理旧包与缓存(如 yum remove php* 后重装所需版本)、再 yum clean all 后安装;确保启用正确的仓库(如 Remi 对应 PHP 版本)。
- 配置文件被覆盖:升级前已备份,可按需将自定义配置从备份合并回新配置。
- 回滚建议
- 使用 yum history 查看事务并回滚(如 sudo yum history undo ),或基于升级前的备份与快照恢复网站与数据库。