Nginx 平滑升级

来源:互联网 发布:韩服数据 编辑:程序博客网 时间:2024/05/02 00:23

http://www.huxd.org/articles/2017/07/24/1500890692329.html

最近Nginx报出漏洞CNNVD 关于Nginx range过滤器模块漏洞情况的通报 给出的升级建议为升级到最新的版本,

4d435d2822bb480886796291cde44473-f6cc1ae5c704447cb6210788b94fc6e0image.png

然后接到通知,升级Nginx,现在已经升级完毕,现在记录一下。
一、首先查看一下Nginx版本

/usr/local/nginx/sbin/nginx -v

二、下载最新版本的nginx
网址:Nginx
三、将下载的文件上传到服务器中,解压

tarzxf nginx-1.13.3.tar.gz

四、执行命令

./configure \--**prefix=/usr/local/nginx/nginx-1.13.3** \--pid-path=/var/run/nginx/nginx.pid \--lock-path=/var/lock/nginx.lock \--error-log-path=/var/log/nginx/error.log \--http-log-path=/var/log/nginx/access.log \--with-http_gzip_static_module \--http-client-body-temp-path=**/var/temp/nginx**/client \--http-proxy-temp-path=**/var/temp/nginx/**proxy \--http-fastcgi-temp-path=**/var/temp/nginx**/fastcgi \--http-uwsgi-temp-path=**/var/temp/nginx**/uwsgi \--http-scgi-temp-path=**/var/temp/nginx**/scgi

五、执行,这里要主要,是只执行make,不是在执行make install

# make

六、将sbin下的nginx重命名为nginx.old

# mv/usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old

七、复制编译后的objs目录下的nginx到nginx安装目录的sbin下

cp objs/nginx /usr/local/nginx/sbin/

八、这里可以测试一下新复制过来的文件是否生效,如果出现下面的 OK 与 successful为正确即可

# /usr/local/nginx/sbin/nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

九、让nginx把nginx.pid文件修改成nginx.pid.oldbin,随即启动nginx,实现不间断

# kill -USR2 `cat /usr/local/nginx/nginx.pid`  更新配置文件# kill -QUIT `cat /usr/local/nginx/nginx.pid.oldbin` 优雅的关闭

十、升级完成后,重新查看一下版本即可

# /usr/local/nginx/sbin/nginx -v

十一、主要,这里的第八步,如果检测出现问题,就要查看,配置文件,conf下的nginx.conf就是你启动的那个nginx配置文件
主要查看为error.log的生成路径,access.log的生成路径,这个是需要注意。

原创粉丝点击