如何升级CentOS Apache2版本
导读:升级前准备与版本确认 在 CentOS 中,Apache 软件包名为 httpd(常被称作 Apache2)。先确认系统与当前版本: 查看系统版本:cat /etc/centos-release 查看 httpd 版本:httpd -v...
升级前准备与版本确认
- 在 CentOS 中,Apache 软件包名为 httpd(常被称作 Apache2)。先确认系统与当前版本:
- 查看系统版本:
cat /etc/centos-release - 查看 httpd 版本:
httpd -v或apachectl -v
- 查看系统版本:
- 做好备份与变更窗口:
- 备份配置与数据:
sudo cp -r /etc/httpd /etc/httpd.bak;sudo cp -r /var/www /var/www.bak - 可选快照:对虚拟机或云盘做快照,便于快速回滚
- 备份配置与数据:
- 维护窗口与依赖检查:
- 选择低峰期执行,避免业务中断
- 确认反向代理、SELinux、防火墙、证书路径等依赖项
升级路径选择
- 就地小版本升级(系统仓库):执行
sudo yum update httpd,适合仅获取官方仓库中的小版本与安全修复,风险最低。 - 使用 SCL/Software Collections(推荐在 CentOS 7 获取较新版本):安装 Software Collections 仓库(如 centos-release-scl),启用对应 httpd24 集合,实现与系统 httpd 并存,便于回滚。
- 第三方仓库(如 EPEL/Remi):在 CentOS 7 上可启用 EPEL 与 Remi 获取更新版本;在 CentOS 8 上 Remi 同样常用,但需注意 CentOS 8 已 EOL,建议迁移至 CentOS Stream 9 或 RHEL/AlmaLinux/Rocky Linux。
- 源码编译安装:获取官方源码编译,版本可控但维护成本高,易与系统包管理脱节,谨慎用于生产。
分步操作示例
- 就地小版本升级(系统仓库)
- 更新索引与系统:
sudo yum update -y - 升级 httpd:
sudo yum update httpd -y - 检查语法并重启:
sudo apachectl configtest & & sudo systemctl restart httpd - 验证版本:
httpd -v
- 更新索引与系统:
- 使用 SCL/Software Collections(CentOS 7 示例)
- 安装 SCL:
sudo yum install -y centos-release-scl - 安装 httpd24:
sudo yum install -y httpd24 - 启动并确保开机自启:
sudo systemctl start httpd24 & & sudo systemctl enable httpd24 - 验证版本:
/opt/rh/httpd24/root/usr/sbin/httpd -v - 如与系统 httpd 并存,使用完整路径管理;如需切换默认版本,调整 PATH 或使用 scl enable
- 安装 SCL:
- 使用 Remi 仓库(CentOS 7 示例)
- 安装 EPEL 与 Remi:
sudo yum install -y epel-release;sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm - 启用 Remi 的 httpd 模块:
sudo yum-config-manager --enable remi-httpd - 升级或安装:
sudo yum update httpd -y(或sudo yum install httpd -y) - 检查语法并重启:
sudo apachectl configtest & & sudo systemctl restart httpd - 验证版本:
httpd -v
- 安装 EPEL 与 Remi:
- 源码编译安装(仅在必要时)
- 安装依赖:
sudo yum groupinstall -y "Development Tools";sudo yum install -y apr-devel apr-util-devel pcre-devel openssl-devel - 下载与解压:
wget https://downloads.apache.org/httpd/httpd-2.4.62.tar.gz & & tar xf httpd-2.4.62.tar.gz & & cd httpd-2.4.62 - 配置与编译安装:
./configure --prefix=/usr/local/apache2 --enable-so --enable-ssl --with-mpm=prefork;make -j$(nproc);sudo make install - 备份并替换命令:
sudo mv /usr/sbin/httpd /usr/sbin/httpd.old;sudo ln -sfn /usr/local/apache2/bin/httpd /usr/sbin/httpd - 重新加载并验证:
sudo systemctl daemon-reload & & sudo systemctl restart httpd & & /usr/local/apache2/bin/httpd -v
- 安装依赖:
回滚与验证
- 快速回滚
- 包管理升级:使用包管理器历史或快照回滚,例如
sudo yum downgrade httpd -y;SCL 场景可停用集合并切回系统 httpd - 源码安装:将二进制与配置恢复至备份(如
/usr/sbin/httpd.old、/etc/httpd.bak),再重启服务
- 包管理升级:使用包管理器历史或快照回滚,例如
- 升级后验证
- 版本:
httpd -v - 配置语法:
sudo apachectl configtest - 服务状态:
sudo systemctl status httpd(或对应服务名) - 业务与日志:访问关键页面,检查 error_log 与 access_log 是否有异常
- 周边组件:确认 PHP-FPM、SSL/TLS、反向代理、.htaccess 规则等兼容新版本
- 版本:
注意事项
- 生产环境优先选择包管理或 SCL 方式,尽量避免源码覆盖系统 httpd,减少运维复杂度
- 变更前务必备份配置与数据,并在灰度或维护窗口执行
- CentOS 8 已 EOL,建议迁移至受支持的 CentOS Stream 9 或 RHEL/AlmaLinux/Rocky Linux 后再升级
- 若使用第三方仓库,注意启用顺序与冲突处理,保持与系统其他组件(如 PHP 版本)的兼容性
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何升级CentOS Apache2版本
本文地址: https://pptw.com/jishu/769999.html
