centos服务器nginx版本平滑升级

  • by

NGINX服务器官方发布漏洞更新版本,一定要升级。最近nginx官方报1.14有漏

洞,于是升级到nginx最新稳定版。


当前服务器中正在运行Nginx服务,现想将当前运行的Nginx服务的版本经行升

级,(从1.14.0升级到1.156,版本的跨度不要太大,容易造成服务的崩溃),且在服务

不停止的前提下经行升级。

1、在不停掉老进程的情况下,启动新进程。

2、 老进程负责处理仍然没有处理完的请求,但不再接受处理请求。

3、 新进程接受新请求。

4、 老进程处理完所有请求,关闭所有连接后,停止。

一、到nginx官网下载资源包到home文件夹:nginx-1.15.6.tar.gz

解压并进入到nginx-1.15.6文件夹

用nginx -V查看当初编译的参数,等会而重新编译新版本的时候需要这次参数。复

制、粘贴,这些编译的参数,一一对应。

二、执行 make 命令

mv /app//nginx/sbin/nginx    /app/nginx/sbin/nginx20181113

把make执行完后的新文件复制到相关文件夹

cp objs/nginx    /app/nginx/sbin/

执行命令:

/app/nginx/sbin/nginx -t

得到:

nginx: the configuration file /app/ngnix/conf/nginx.conf syntax is ok

nginx: configuration file /app/nginx/conf/nginx.conf test is successful

在nignx1.15.6文件夹中执行:安装升级

make upgrade

查看nginx版本:

nginx -v

三、使nginx的旧版本停止就收请求,有Nginx新版本接替,且老进程处理完所有

请求,关闭所有连接后,停止

kill -USR2 `cat /app/nginx/logs/nginx.pid


查看nginx日志目录会生成一个nginx.pid.oldbin文件,存放旧版本nginx 的pid号

ls   /app/nginx/logs/

access.log      error.log      nginx.pid     nginx.pid.oldbin

systemctl restart nginx.service

netstat -tunlp  | grep nginx

nginx -v,已经更新到nginx1.15.6最新版本了



发表评论

电子邮件地址不会被公开。 必填项已用*标注

9 + 13 =