您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“php-fpm 502 bad gateway錯誤處理的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“php-fpm 502 bad gateway錯誤處理的示例分析”這篇文章吧。
最近一個月經常有客服打電話抱怨頁面出現502錯誤 起初以為是運行游戲程序問題(因為重啟php-fpm進程沒有用,只有重啟游戲才能恢復),后來情況嚴重了:連論壇都出現了502錯誤,為了不等領導請喝茶,趕緊查了nginx日志,查出過去幾天有各種錯誤 111: Connection refused 104: Connection reset by peer
[error] 31329#0: *1027762 connect() failed (111: Connection refused) while connecting to upstream ....upstream:"fastcgi://127.0.0.1:9000",......
大致是php超時設置的太小,nginx fastcgi 緩存設置過小
后來查看了nginx 配置,fastcgi_buffers和連接超時這些都是缺省配置php-fpm.conf超時也設置了30s,感覺被php開發和原來的運維坑到了,果斷狠心把這些東西都做了修改大致如下 :
在nginx.conf http段加
fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 128k;
在php-fpm.conf里把request_terminate_timeout = 300
這里關于php—fpm超時設置的略大,還是根據實際情況設置吧
說明:
fastcgi_connect_timeout 指定連接到后端FastCGI的超時時間
fastcgi_send_timeout 指定向FastCGI傳送請求的超時時間
fastcgi_read_timeout 指定接收FastCGI應答的超時時間
fastcgi_buffers 4 64k 設置了4個緩沖,每個緩沖64k,總大小(4+1)*64k。默認是和系統的頁大小一致4k或8k
作用:如果一個PHP腳本所產生的頁面大小為256KB,那么會為其分配4個64KB的緩沖區來緩存;如果頁面大小大于256KB,那么大于256KB的部分會緩存到fastcgi_temp指定的文件路徑中
fastcgi_buffer_size 64k 是指FastCGI服務器對應頭部的緩沖區大小,通常與fastcig_buffers的一個緩沖區大小一致
fastcgi_busy_buffers_size的默認值是fastcgi_buffers的兩倍
fastcgi_temp_file_write_size表示在寫入緩存文件時使用多大的數據塊,默認值是fastcgi_buffers的兩倍
request_terminate_timeout php 執行時間超時,可以解決Connection reset by peer的問題
重啟php-fpm 重啟nginx
以上是“php-fpm 502 bad gateway錯誤處理的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。