nginx 平滑重启与平滑升级实现方法

发布时间:2020-08-02编辑:脚本学堂
分享下nginx平滑重启以及平滑升级的实现方法,在nginx运行过程中实现平滑重启与平滑升级,真是太美妙了,有需要的朋友参考下。

如何平滑重启nginx服务,以及如何对nginx实现平滑升级呢,这里分享下具体的操作方法,供大家参考。
 
如果改变了Nginx的配置文件(nginx.conf),想重启Nginx,同样可以通过发送系统信号给Nginx主进程的方式来进行。
不过,重启之前,要确认Nginx配置文件(nginx.conf)的语法是正确的,否则Nginx将不会加载新的配置文件。

通过以下命令可以判断Nginx配置文件是否正确:
 

复制代码 代码示例:
/usr/local/webserver/nginx/sbin/nginx    -t  -c
/usr/local/webserver/nginx/conf/nginx.conf

如果配置文件不正确,屏幕将会提示配置文件的第几行出错:
[emerg]:unknowndirective"abc"inlusrllocaUwebserverlnginxjconflnginx.conf:55
Configurationfile/usr/local/webserver/nginx/conf/nginx·conf test failed

如果配置文件正确,屏幕将提示以下两行信息:
The configuration file/usr/loca/webserver/nginx/conf/nginx.conf syntax is  ok
Configuration file/usr/local/webserver/nginx/conf/nginx.conf test is  successful
此时即可平滑重启Nginx了。

例:
 

复制代码 代码示例:
/usr/local/www/nginx/sbin/nginx -s reload 或:
killx -HUP `cat /usr/local/www/nginx/logs/nginx.pid`

补充:
平滑重启

复制代码 代码示例:
kill -HUP `cat /usr/local/www/nginx/logs/nginx.pid`

下面介绍下,nginx平滑升级的操作方法。
平滑升级nginx
 

复制代码 代码示例:
cd /software
wget http://nginx.org/download/nginx-1.0.6.tar.gz
tar zxvf nginx-1.0.6.tar.gz
cd nginx-1.0.6
/usr/local/www/nginx/sbin/nginx -V
nginx: nginx version: nginx/1.0.4
nginx: built by gcc 4.1.2 20080704 (Red Hat 4.1.2-50)
nginx: configure arguments: --prefix=/usr/local/www/nginx --with-pcre=/software/pcre-8.12 --with-http_stub_status_module --with-http_gzip_static_module

得到编译参数
 

复制代码 代码示例:
./configure --prefix=/usr/local/www/nginx --with-pcre=/software/pcre-8.12 --with-http_stub_status_module --with-http_gzip_static_module
 

用上面这段编译。
然后make,千万别make install
make完了 在objs目录下就多了个nginx,这个就是新版本的程序了:
 

复制代码 代码示例:
mv /usr/local/www/nginx/sbin/nginx /usr/local/www/nginx/sbin/nginx-20110906
cp objs/nginx /usr/local/www/nginx/sbin/nginx
/usr/local/www/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

make upgrade 执行升级
执行完后:
 

复制代码 代码示例:
/usr/local/nginx/sbin/nginx -V
nginx: nginx version: nginx/1.0.6
nginx: built by gcc 4.1.2 20080704 (Red Hat 4.1.2-50)
nginx: configure arguments: --prefix=/usr/local/www/nginx --with-pcre=/software/pcre-8.12 --with-http_stub_status_module --with-http_gzip_static_module

如此,就完成了nginx的平滑升级。