啟動php-fpm無法后台運行


最近兩天公司阿里雲linux服務器上的幾個網站經常性出現打不開的情況,瀏覽器不停的顯示在加載然后提示 Nginx 502 bad gateway;

按照網上提到的方法修改了php-fpm配置文件 參考了阿里雲ecs主機Nginx 502 bad gateway問題的解決方法

 

pm.max_children = 50
pm.start_servers = 15
pm.min_spare_servers = 10
pm.max_spare_servers = 40

同時修改nginx.conf 

 

 

http {
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
……
}

通過 df -h命令查看磁盤使用量,發現系統盤使用達到了將近100%,果斷進去把nginx和php-fpm之前產生的日志文件都刪除了,然后再一查,發現磁盤使用量馬上將到了24%(此時心里暗喜,以為問題已經解決了)

然后執行“/usr/sbin/php-fpm”命令來啟動php-fpm,雖然php-fpm啟動成功,但出現了如下提示:

 

 

[19-Jun-2018 16:51:08] NOTICE:fpm is running ,pid 16831
[19-Jun-2018 16:51:08] NOTICE:ready to handle connections
[19-Jun-2018 16:51:08] NOTICE:systemd monitor interval set to 10000ms

php-fpm占了這個窗口,它不后台運行了,只好crtl+c來強制退出,又出現如下提示:

 

 

^C[19-Jun-2018 16:51:18]NOTICE:Teminating…
[19-Jun-2018 16:51:18]NOTICE:exiting.bye-bye!

經過反復測試,發現php-fpm可以正常啟動,只是不能后台運行,只要啟動了php-fpm,不關閉這個窗口,網站的php都可以解析,也能正常訪問。這樣的問題如何解決?

殺死對應進程重啟,任然提示:systemd monitor interval set to 10000ms,然后只能強制退出

 

解決辦法:

1、首先要保證安裝的PHP程序沒有問題,因為最近公司網站沒有改動,昨天還運行得好好的,所以php程序是確定沒有問題的。

 

2、查看php-fpm配置文件,因為php-fpm配置文件有一個選項是:

daemonize = no

#后台執行fpm,默認值為yes,如果為了調試可以改為no。在FPM中,可以使用不同的設置來運行多個進程池。 這些設置可以針對每個進程池單獨設置。

 網上查了一個php-fpm參數配置參數方面的文章,看到這樣一句,當時感覺問題應該就出現在這里了

最后再啟動 php-fpm,發現順利啟動,php頁面也能正常打開了。但是此時讓我感到疑惑的是公司網站配置文件一直都是沒有修改過的,為什么daemonize = no這樣設置,之前一直都運行得好好的呢?

個人猜測可能是php-fpm模塊剛開始啟動的時候是用默認配置daemonize = yes啟動的,后面就一直沒有重啟過php-fpm,這次因為磁盤使用滿了,導致頁面報 502 bad gateway問題,此時我再來重啟php-fpm 就導致一直不能后台運行的問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM