理解
master進(jìn)程可以理解以下信號(hào)
INT (2)停止
TERM(15) 立刻終止
QUIT (3) 平滑終止
USR1 重新打開(kāi)日志文件
USR2 平滑重載所有worker進(jìn)程并重新載入配置和二進(jìn)制模塊
示例:
php-fpm
測(cè)試php-fpm配置:/usr/local/php/sbin/php-fpm -t
/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf -t
啟動(dòng):/usr/local/php/sbin/php-fpm
/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf
關(guān)閉:kill -INT cat /usr/local/php/var/run/php-fpm.pid
重啟:kill -USR2 cat /usr/local/php/var/run/php-fpm.pid
查看php-fpm進(jìn)程數(shù):
ps -aux | grep -c php-fpm
- 在php-fpm的配置文件中蛇摸,有兩個(gè)指令非常重要板辽,就是"pm.max_children" 和 "request_terminate_timeout"
第一個(gè)指令"pm.max_children" 確定了php-fpm的處理能力掌挚,原則上是越多越好钥庇,但這個(gè)是在內(nèi)存足夠大的前提下,每開(kāi)啟一個(gè)php-fpm進(jìn)程要占用近30M左右的內(nèi)存
如果請(qǐng)求訪問(wèn)較多,那么可能會(huì)出現(xiàn)502,504錯(cuò)誤识椰。對(duì)于502錯(cuò)誤來(lái)說(shuō),屬于繁忙進(jìn)程而造成的深碱,對(duì)于504來(lái)說(shuō)腹鹉,就是客戶發(fā)送的請(qǐng)求在限定的時(shí)間內(nèi)沒(méi)有得到相應(yīng),過(guò)多的請(qǐng)求導(dǎo)致“504 Gateway Time-out”敷硅。這里也有可能是服務(wù)器帶寬問(wèn)題功咒。
另外一個(gè)需要注意的指令"request_terminate_timeout"愉阎,它決定php-fpm進(jìn)程的連接/發(fā)送和讀取的時(shí)間,如果設(shè)置過(guò)小很容易出現(xiàn)"502 Bad Gateway" 和 “504 Gateway Time-out”航瞭,默認(rèn)為0诫硕,就是說(shuō)沒(méi)有啟用,不加限制刊侯,但是這種設(shè)置前提是你的php-fpm足夠健康,這個(gè)需要根據(jù)實(shí)際情況加以限定锉走。