Nginx的信號控制:nginx
TERM,INT 快速關閉;測試
QUIT 從容關閉;ui
HUP 平滑重啓,從新加載配置文件;日誌
USR1 從新打開日誌文件,在切割日誌時用途較大;進程
USR2 平滑升級可執行程序;源碼
WINCH 從容關閉工做進程;it
1. 啓動nginx配置
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf程序
2. 中止nginx配置文件
1>.從容中止nginx
kill - QUIT nginx主進程號
kill - QUIT `/usr/local/nginx/logs/nginx.pid`
2>.快速中止nginx
kill - TERM nginx主進程號
kill - TERM `/usr/local/nginx/logs/nginx.pid`
或者
kill - INT nginx主進程號
kill - INT `/usr/local/nginx/logs/nginx.pid`
3>.強制中止nginx
pkill -9 nginx
killall nginx
3. 重啓nginx
<提示> 重啓前最好先校驗nginx配置文件。
/usr/local/nginx/sbin/nginx -t [-c /usr/local/nginx/conf/nginx.conf]
kill -HUP nginx主進程號
kill -HUP `/usr/local/nginx/logs/nginx.pid`
4. 升級nginx
不中斷服務下,升級nginx。
1.>. /usr/local/nginx/sbin/nginx -V #查看原版本
2>. ./configure [參數]
3>. make ### 不要make install
4>. mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak #備份原來的nginx可執行文件
5>. cp objs/nginx /usr/local/nginx/sbin/nginx #objs目錄在源碼安裝包根目錄下
6>. /usr/local/nginx/sbin/nginx -t #檢測nginx文件配置
7>. kill -USR2 `cat /usr/local/nginx/logs/nginx.pid` #把nginx.pid改爲nginx.pid.oldbin,跟着啓動新的nginx
8>. kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin` #退出舊的nignx
5. 經常使用其餘命令
nginx -h
nginx -c /path/to/nginx.conf // 以特定目錄下的配置文件啓動nginx: nginx -s reload // 修改配置後從新加載生效 nginx -s reopen // 從新打開日誌文件 nginx -s stop // 快速中止nginx nginx -s quit // 完整有序的中止nginx nginx -t // 測試當前配置文件是否正確 nginx -t -c /path/to/nginx.conf //測試特定的nginx配置文件是否正確