nginx日志切割時候采用了nginx -是reload來重新啟動,使之能夠重新生成日志,但是時間長了會出現nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)。
我描述下我的錯誤:
首先報這個錯,其次nginx種pid檔案沒了,最后nginx行程還活著就是nginx -s的命令都會報這個錯,就好像少了pid沒了靈魂只有軀殼。
這個錯誤,更奇妙得是三臺虛擬機上同時出現這種情況,三臺虛擬機還不在同一個物理機上,反復出現了幾次,網上找的方法都只是解決方法,感覺每次要手動查挺麻煩得。
一、nginx -s stop 之后再nginx -s reload會報這個錯,但是是因為殺了nginx沒有了pid,連nginx也沒了,顯然不能nginx -s reload,不是我出現得這種情況。
二、我查到網上日志切割還有的用kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid) #通知nginx重新生成新的日志,不用重啟應該好點。
三、大多數都是這個答案/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf,就是嫌他每次都要手動檢查挺麻煩的。
四、我在每天執行的sh腳本中加了nginx -s reload命令的回傳值判斷,報錯時$?不為零,然后殺掉nginx行程然后到nginx目錄下啟動。
希望有人能幫忙看看為什么會出現nginx沒掛但是nginx的pid會丟失的情況,有沒有解決辦法
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/72316.html
標籤:應用服務器
