新聞中心
當我們在Nginx中安裝完一個新程序之后就需要進行重啟,其實在重啟的時候有個小技巧。kill命令就是一個十分神奇的命令。下面我們就來學些有關kill命令如何來進行Nginx重啟的。

創(chuàng)新互聯(lián)公司是專業(yè)的黑山網(wǎng)站建設公司,黑山接單;提供網(wǎng)站設計、成都網(wǎng)站制作,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行黑山網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
如果機器比較慢,Nginx重啟kill進程時一瞬間殺不完,再執(zhí)行一次即可。這種重啟方式不是特別安全,如果配置有誤,則會重啟失敗,需要重新修改配置文件然后再啟動,期間會消耗一點時間。不過對于目前普遍還是不怎么嚴格的http界而言,這點時間還不至于產(chǎn)生太大損失,只要不是在關鍵時刻搞出來就好。如果希望沿用這種重啟辦法,我提議還是先好好測試吧。
后來我在nginx.net上看到了一種更奇妙的Nginx重啟
kill -HUP $pid($pid就是nginx master進程的進程號)
我一般這樣用
- kill -HUP `cat /data/nginx/logs/nginx.pid`
這種方式的好處是實現(xiàn)“平滑重啟”,在ps -aux中可以看到,nginx首先啟動新進程,舊的進程仍然提供服務,在一段時間后,舊的進程服務結(jié)束就自動關閉,剩下新進程繼續(xù)服務。但是這種方式也是有缺點的,如果配置文件有誤,或者資源沖突,則重啟失效,但nginx并沒有任何的提示!這就會時常發(fā)現(xiàn)改動的配置文件沒有生效,又比較難找到問題。
所以,最后雜和了一下問題,弄了一個nginx.sh,這個版本的nginx.sh還是沒有解決kill -HUP的資源沖突的問題,但解決了配置文件的問題。資源沖突的比如80端口被占用、日志文件目錄沒有創(chuàng)建這種的。
參考網(wǎng)上的做法,用如下腳本控制:
- #!/bin/sh
- BASE_DIR='/usr/local/'
- ${BASE_DIR}nginx/sbin/nginx -t -c ${BASE_DIR}nginx/conf/nginx.
conf >& ${BASE_DIR}nginx/logs/nginx.start- info=`cat ${BASE_DIR}nginx/logs/nginx.start`
- if [ `echo $info | grep -c "syntax is ok" ` -eq 1 ]; then
- if [ `ps aux|grep "nginx"|grep -c "master"` == 1 ]; then
- kill -HUP `cat ${BASE_DIR}nginx/logs/nginx.pid`
- echo "ok"
- else
- killall -9 nginx
- sleep 1
- ${BASE_DIR}nginx/sbin/nginx
- fi
- else
- echo "######## error: ########"
- cat ${BASE_DIR}nginx/logs/nginx.start
- fi
以上就是對Nginx重啟的詳細介紹希望大家有所收獲。
本文名稱:Nginx重啟的簡單命令kill
URL分享:http://m.fisionsoft.com.cn/article/coosiso.html


咨詢
建站咨詢
