fpm平滑重啟 PHP FPM高負載的解決辦法

2021-10-12 19:34:57 字數 1970 閱讀 9407

導致nginx 502 bad gateway的php-cgi(fastcgi)

nginx頻爆502 bad gateway的錯誤,看了網上的教程,仍沒有徹底解決。

目前我總結的解決502 bad gateway的方式有:

1.視伺服器的效能,在php-fmp.conf裡增加max_children的值,我目前用的15.

2.用reload引數定時過載php-fpm。這個主要原因是php指令碼執行時間過長造成的,過載php-fpm能杜絕這個問題。如何徹底解決php-cgi指令碼占用大量記憶體從而導致502錯誤的產生還值得進一步**,目前該做法不失為一種好辦法。

具體的做法是,用crontab讓php-fpm平滑重啟,從而不影響php指令碼的執行。

*/10 * * * * /usr/local/php/sbin/php-fpm reload

when you running a highload website with php-fpm via fastcgi, the following tips may be useful to you : )

如果您高負載**使用php-fpm管理fastcgi,這些技巧也許對您有用:)

1.盡量少安裝php模組,最簡單是最好(快)的

2. increas php fastcgi child number to 100 and even more. sometime, 200 is ok! ( on 4gb memory server);

2.把您的php fastcgi子程序數調到100或以上,在4g記憶體的伺服器上200就可以

注:我的1g測試機,開64個是最好的,建議使用壓力測試獲取最佳值

3. using socket php fastcgi, and put into /dev/shm on linux;

3.使用socket連線fastcgi,linux作業系統可以放在 /dev/shm中

注:在php-fpm.cnf裡設定/tmp/nginx.socket就可以通過socket連線fastcgi了,/dev/shm是記憶體檔案系統,放在記憶體中肯定會快了

4. increase linux 「max open files」, using the following command (must be root):

# echo 『ulimit -hsn 65536′ >> /etc/profile

# echo 『ulimit -hsn 65536 >> /etc/rc.local

# source /etc/profile

4.調高linux核心開啟檔案數量,可以使用這些命令(必須是root帳號)

echo 『ulimit -hsn 65536′ >> /etc/profile

echo 『ulimit -hsn 65536′ >> /etc/rc.local

source /etc/profile

注:我是修改/etc/rc.local,加入ulimit -shn 51200的

5. 增加 php-fpm 開啟檔案描述符的限制:

# vi /path/to/php-fpm.conf

找到「1024」

把1024 更改為 4096

fpm平滑重啟 php fpm啟動,重啟,終止操作

啟動php fpm usr local php sbin php fpm php 5.3.3 以後的php fpm 不再支援 php fpm 以前具有的 usr local php sbin php fpm start stop reload 等命令,所以不要再看這種老掉牙的命令了,需要使用訊號控制...

PHP FPM高負載的解決辦法

導致nginx 502 bad gateway 的php cgi fastcgi nginx頻爆502 bad gateway的錯誤,看了網上的教程,仍沒有徹底解決。目前我總結的解決502 bad gateway的方式有 1.視伺服器的效能,在php fmp.conf裡增加max children的...

PHP FPM高負載的解決辦法

這裡只是介紹了php fpm的優化方法的,但一般情況下和nginx組合使用的時候,單獨優化其中一項的話,作用不是特別的大,同時還需要對nginx進行優化 nginx的做法方法參考 上面的優化前和優化後的圖,看得出前後差距還是特別的大的 導致nginx 502 bad gateway 的php cgi...