Nginx提示502和504錯誤的終極解決方案
將腳本添加至計劃任務:
/usr/local/php/sbin/php-fpm reload
直接在crontab里寫入php-fpm的平滑重啟命令,“平滑重啟”和“快速重啟”是兩種不同的概念。
php-fpm的reload平滑重啟是指:假設128個php-cgi進程中有50個進程正在處理PHP程序,而剩余的78個進程處于閑置狀態,php-fpm接到平滑重啟信號后,會kill掉78個閑置進程,然后新啟動128個進程,新請求交給新啟動的進程來處理,而那50個進程,只有等到它們處理完自己當前正在執行的PHP程序后,才會被干掉。
daetmontools的快速重啟:采用spawn-fcgi啟動php-cgi,使用shell腳本、daetmontools監控php-cgi,由shell腳本killall -9 php-cgi然后快速啟動php-cgi,雖然時間很短,但是,尚未處理完成的這50個進程會被強行殺掉。如果這些進程正在處理較為重要的任務,例如注冊、登陸、充值等業務,可能會造成用戶體驗、金錢上的損失。

浙公網安備 33010602011771號