目录
- 1、概述
- 2、使用Nginx服务信号完成Nginx升级
- 2.1 备份当前版本的Nginx
- 2.2 向服务器导入新的Nginx
- 2.3 向服务器导入新的Nginx
- 2.4 停止老版本Nginx
- 3、使用Nginx安装目录的make命令完成升级
- 3.1 备份当前版本的Nginx
- 3.2 向服务器导入新的Nginx
- 3.3 执行更新命令
1、概述
如果想要对Nginx的版本进行更新,最简单的办法就是关闭Nginx服务,然后开启新的Nginx服务,但是这样会导致一段时间内,用户是无法访问的,为了解决这个问题,我们需要使用Nginx提供的平滑升级功能。
- 方案一:使用Nginx服务信号完成Nginx升级
- 方案二:使用Nginx安装目录的make命令完成升级
2、使用Nginx服务信号完成Nginx升级
当前版本的Nginx版本:nginx-1.14.2
更新之后Nginx的版本:nginx-1.26.2
2.1 备份当前版本的Nginx
进入/usr/local/nginx/sbin
执行mv nginx nginxold
备份当前的Nginx
2.2 向服务器导入新的Nginx
将新版本的Nginx导入到服务器,并执行./configure
进行配置,执行make && make install
进行安装,当安装完成之后在目录/usr/local/nginx/sbin
下会出现一个新的nginx,执行./nginx -v
可以查看当前Nginx的版本为1.26.2。
需要注意:如果目录中没有nginx,需要去新版本的nginx目录下进行拷贝/home/soft/nginx-1.26.2/objs
2.3 向服务器导入新的Nginx
使用kill -USR2 老版本PID
使用USR2更新Nginx
2.4 停止老版本Nginx
到配置文件中寻找老版本的Nginx:nginx.pid.oldbin
3、使用Nginx安装目录的make命令完成升级
3.1 备份当前版本的Nginx
进入/usr/local/nginx/sbin
执行mv nginx nginxold
备份当前的Nginx
3.2 向服务器导入新的Nginx
将新版本的Nginx导入到服务器,并执行./configure
进行配置,执行make && make install
进行安装,当安装完成之后在目录/usr/local/nginx/sbin
下会出现一个新的nginx,执行./nginx -v
可以查看当前Nginx的版本为1.26.2。
需要注意:如果目录中没有nginx,需要去新版本的nginx目录下进行拷贝/home/soft/nginx-1.26.2/objs
3.3 执行更新命令
在新版本的Nginx安装目录下/home/soft/nginx-1.26.2
执行make upgrade
注意:在执行命令时如果提示权限不够,则需要给/usr/local/nginx/sbin/nginx
重新授予权限chmod 777 nginx
最后执行./nginx -s reload
重新加载配置文件