阅读量:3
CentOS系统Nginx升级更新指南
一、升级前的准备工作
- 备份关键数据:
升级前务必备份Nginx配置文件和网站数据,防止操作失误导致数据丢失。常用命令:sudo cp -r /etc/nginx /etc/nginx.bak # 备份配置文件 sudo cp -r /var/www/html /var/www/html.bak # 备份网站数据(若有) - 检查当前Nginx版本:
通过以下命令确认当前安装的Nginx版本及编译参数(后续编译需保持一致):nginx -V - 更新系统包:
确保系统包为最新状态,避免依赖冲突:sudo yum update -y - 安装EPEL仓库(可选):
若需通过Yum安装较新版本的Nginx,需先安装EPEL(Extra Packages for Enterprise Linux)仓库:sudo yum install epel-release -y
二、通过Yum包管理器升级(推荐常规场景)
Yum是CentOS下最便捷的升级方式,适用于大多数生产环境,可自动解决依赖问题。
- 清理Yum缓存并更新索引:
sudo yum clean all sudo yum makecache - 查看可升级的Nginx版本:
执行以下命令查看当前可用的Nginx版本(包括稳定版、主线版):sudo yum list nginx --showduplicates - 升级Nginx:
若需升级到最新稳定版,直接运行:
若需升级到指定版本(如1.26.2),可添加版本号:sudo yum update nginx -ysudo yum install nginx-1.26.2 -y - 重启Nginx并验证:
升级完成后,重启Nginx使新版本生效:
检查版本确认升级成功:sudo systemctl restart nginxnginx -v
三、手动编译升级(适用于特定版本或自定义模块)
若Yum源中没有所需版本,或需要添加第三方模块(如Lua、Redis模块),需通过源码编译升级。
- 卸载旧版本(可选):
若之前通过Yum安装,可先卸载以避免冲突:sudo yum remove nginx -y - 安装编译依赖:
编译Nginx需要gcc、pcre、zlib等工具,执行以下命令安装:sudo yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel make - 下载并解压新版本源码:
访问Nginx官网(nginx.org)下载所需版本(如1.26.2),解压后进入目录:cd /usr/local/src sudo wget http://nginx.org/download/nginx-1.26.2.tar.gz sudo tar zxvf nginx-1.26.2.tar.gz cd nginx-1.26.2 - 配置编译参数:
必须使用与旧版本一致的编译参数(通过nginx -V获取),避免模块丢失。示例:./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --user=nginx --group=nginx - 编译并安装:
执行make编译,make install安装到指定目录:sudo make sudo make install - 替换二进制文件并平滑升级:
- 备份旧二进制文件:
sudo cp /usr/sbin/nginx /usr/sbin/nginx.old - 复制新二进制文件到系统目录:
sudo cp /usr/local/nginx/sbin/nginx /usr/sbin/nginx - 测试新配置文件是否正确:
sudo nginx -t - 发送信号实现平滑升级:
# 向旧主进程发送USR2信号,启动新主进程 sudo kill -USR2 $(cat /run/nginx.pid) # 向旧主进程发送WINCH信号,逐步关闭旧worker进程 sudo kill -WINCH $(cat /run/nginx.pid.oldbin) # 验证新版本运行正常后,关闭旧主进程 sudo kill -QUIT $(cat /run/nginx.pid.oldbin)
- 备份旧二进制文件:
- 重启Nginx并验证:
sudo systemctl restart nginx nginx -v # 确认版本已更新
四、升级后的注意事项
- 验证服务状态:
确保Nginx服务正常运行,无报错:sudo systemctl status nginx - 检查网站访问:
通过浏览器或curl命令访问网站,确认功能正常:curl -I http://localhost - 监控性能:
升级后观察服务器负载、响应时间等指标,确保没有性能下降。 - 回滚准备:
若升级后出现问题,可通过备份快速回滚(如恢复配置文件、替换二进制文件)。
五、常见问题解决
- 依赖错误:若编译时提示缺少依赖,可通过
yum install安装对应包(如pcre-devel、zlib-devel)。 - 配置文件错误:若
nginx -t报错,需根据提示修改/etc/nginx/nginx.conf或/usr/local/nginx/conf/nginx.conf。 - 端口占用:若启动失败,可能是端口被占用,可通过
netstat -tulnp | grep 80查看并停止占用进程。
以上就是关于“centos nginx如何升级更新”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm