中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

分享一份nginx重啟腳本

發布時間:2020-08-11 23:37:26 來源:ITPUB博客 閱讀:182 作者:hzczichao 欄目:網絡安全
nginx是超級穩定的服務器,一般不會因為超載問題而需要重啟,重啟的目的一般都是修改配置文件后需要加載一下。

最開始的時候,我是用最直接的重啟方式
[@more@]killall -9 nginx;/data/nginx/sbin/nginx

如果機器比較慢,kill進程時一瞬間殺不完,再執行一次即可。這種重啟方式不是特別安全,如果配置有誤,則會重啟失敗,需要重新修改配置文件然后再啟動,期間會消耗一點時間。不過對于目前普遍還是不怎么嚴格的http界而言,這點時間還不至于產生太大損失,只要不是在關鍵時刻搞出來就好。如果希望沿用這種重啟辦法,我提議還是先好好測試吧。

后來我在nginx.net上看到了一種更奇妙的重啟

kill -HUP $pid($pid就是nginx master進程的進程號)

我一般這樣用

kill -HUP `cat /data/nginx/logs/nginx.pid`

這種方式的好處是實現“平滑重啟”,在ps -aux中可以看到,nginx首先啟動新進程,舊的進程仍然提供服務,在一段時間后,舊的進程服務結束就自動關閉,剩下新進程繼續服務。但是這種方式也是有缺點的,如果配置文件有誤,或者資源沖突,則重啟失效,但nginx并沒有任何的提示!這就會時常發現改動的配置文件沒有生效,又比較難找到問題。

所以,最后雜和了一下問題,弄了一個nginx.sh,這個版本的nginx.sh還是沒有解決kill -HUP的資源沖突的問題,但解決了配置文件的問題。資源沖突的比如80端口被占用、日志文件目錄沒有創建這種的,我再想想辦法。

#!/bin/sh

BASE_DIR='/data/'

${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
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

锡林浩特市| 雷波县| 商城县| 安西县| 西和县| 辉县市| 睢宁县| 嘉黎县| 公主岭市| 清水县| 嫩江县| 若羌县| 象山县| 清远市| 六枝特区| 宁安市| 太仆寺旗| 东丰县| 十堰市| 凤庆县| 息烽县| 屯昌县| 盘锦市| 嫩江县| 融水| 陇南市| 武穴市| 太和县| 长子县| 吴桥县| 陆良县| 佳木斯市| 且末县| 犍为县| 和顺县| 琼结县| 弋阳县| 敦煌市| 商都县| 襄樊市| 吴堡县|