在 CentOS 7 下升级 Nginx 版本,您可以采取两种主要方式:
方法一:通过Yum仓库升级(适用于已通过yum安装的Nginx)
-
添加Nginx官方仓库:
如果您尚未添加Nginx官方仓库,可以按照以下步骤操作:sudo rpm --import https://nginx.org/keys/nginx_signing.key sudo vi /etc/yum.repos.d/nginx.repo
在打开的
nginx.repo
文件中添加以下内容(请确保版本号与您想升级的目标版本对应):[nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key
-
更新Yum缓存并升级Nginx:
更新yum缓存并安装最新稳定版Nginx:sudo yum clean all sudo yum update nginx
方法二:源码编译升级(适用于从源码安装或需特定版本)
-
备份旧版本Nginx:
在升级之前,先备份现有Nginx配置文件和相关数据。sudo cp -r /etc/nginx /etc/nginx.bak sudo systemctl stop nginx # 关闭现有Nginx服务
-
下载新版本Nginx源码:
根据目标版本去Nginx官网下载源码包,例如:cd /usr/local/src wget http://nginx.org/download/nginx-1.25.3.tar.gz tar -zxvf nginx-1.25.3.tar.gz cd nginx-1.25.3
-
安装依赖:
确保所有编译所需依赖已经安装。sudo yum install -y gcc-c++ pcre pcre-devel openssl-devel zlib-devel
-
配置并编译Nginx:
根据需要配置Nginx,例如启用SSL和stream模块:./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-stream make sudo make install
-
迁移配置文件和数据:
将旧版本的配置文件迁移到新版本的安装目录下,并替换新版本的默认配置。sudo cp -r /etc/nginx/* /usr/local/nginx/conf/
-
启动新版本Nginx:
创建新的系统服务文件或者修改旧服务文件指向新版本的执行文件,然后启动新Nginx:sudo systemctl disable nginx # 禁用旧版Nginx服务(如果存在) sudo systemctl daemon-reload sudo systemctl enable nginx.service # 新建服务脚本(如果尚未创建) sudo systemctl start nginx
注意事项:
- 升级前务必做好备份工作,包括配置文件、SSL证书以及其他重要数据。
- 检查新版本是否有兼容性问题或功能变更,可能需要调整配置文件以匹配新特性或避免出现错误。
- 升级过程中,如果有自定义模块,确保新版Nginx仍支持这些模块,并在配置时正确引用。
- 编译安装时,请根据自身环境和需求选择合适的编译参数。