如果改變了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 -xs reloadx
或:
復制代碼?代碼如下:
killx -hup `cat /usr/local/www/nginx/logs/nginx.pidx`
下面是一些補充:
平滑重啟?kill -hup `cat /usr/local/www/nginx/logs/nginx.pid`
平滑升級nginx
cd /yujialin
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=/yujialin/pcre-8.12 –with-http_stub_status_module –with-http_gzip_static_module
這步是要得到編譯參數
./configure –prefix=/usr/local/www/nginx –with-pcre=/yujialin/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 successfu
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=/yujialin/pcre-8.12 –with-http_stub_status_module –with-http_gzip_static_module