nginx的平滑升級方法:

最簡單的nginx的平滑升級方法:
nginx


1 找到nginx的執行文件的路徑bash

# ps auxf|grep nginx  記下nginx的master進程 pid(我這裏是2752 )


2 查看當前nginx的版本及編譯參數:ide

# nginx -V

nginx version: nginx/1.8.0
ui

built by gcc 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) google

built with OpenSSL 1.0.1e-fips 11 Feb 2013spa

TLS SNI support enabled進程

configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_sub_module --with-google_perftools_moduleip



3 下載tar xf nginx-1.11.5.tar.gzssl

# tar xf tar xf nginx-1.11.5.tar.gz && cd tar xf nginx-1.11.5
# ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_sub_module --with-google_perftools_module
# make  注意這裏不要執行make install操做。


4 移走原先的nginx二進制文件it

# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_old

5 替換新編譯的 文件到nginx的sbin目錄下

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

6 執行升級命令(在解壓出的新版本的nginx源文件目錄下執行)

# make upgrade

/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

kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`

sleep 1

test -f /usr/local/nginx/logs/nginx.pid.oldbin

kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`


7 檢查升級是否完成

# ps aux|grep nginx 能夠看到nginx的master進程 pid變了。
# /usr/local/nginx/sbin/nginx -V 也能夠看到nginx的版本升級完成了
# ps aux|grep nginx還能夠看到老的nginx進程在逐步shutdown。
相關文章
相關標籤/搜索