Nginx 平滑升級

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 -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: 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的生成路徑,這個是需要注意。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章