這篇文章帶給大家的內容是關於PHP-FPM是什麼? PHP-FPM管理和配置的介紹,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
PHP-FPM 是什麼?
PHP-FPM 是 FastCGI 的進程管理器。
支援平滑停止、啟動的高階進程管理功能
Lance、靜態子進程產生
慢日誌,記錄腳本運行所導致的異常緩慢
可以監聽不同的連接埠和使用不同的php.ini
master 主程序瞭解下列訊號:
INT,TERM 立刻終止
QUIT 平滑終止
USR1 重新開啟日誌檔案
#USR2 平滑重載所有worker 進程並重新載入組態和二進位模組
# 查看 php-fpm 用户 ps aux | grep php-fpm # 查看 php-fpm 进程 pid ps -ef | grep php-fpm # 启动 php-fpm php-fpm -D # 关闭 php-fpm kill -INT [pid] # 重启 php-fpm kill -USR2 [pid]
ps
是顯示目前進程的快照。
/etc/php-fpm.d 資料夾中包含了所有進程池的配置,在主設定檔/etc/ php-fpm.conf 中有下面一行:
include=/etc/php-fpm.d/*.conf
php-fpm.conf 的主設定檔包含全域配置,子配置是不同進程池的配置,例如www。
# s 秒,m 分,h 小时,d 天 # 子进程在 emergency_restart_interval 设定的时间内收到该参数设定次数的 SIGSEGV 或者 SIGBUS退出信息号,则FPM会重新启动 emergency_restart_threshold 10 # 平滑重启的间隔时间: emergency_restart_interval 1m # 子进程接受主进程复用信号的超时时间 process_control_timeout 10s
# 接收 FastCGI 请求的地址 listen: 'ip:port', '/path/to/unix/socket' # 设置进程管理器如何管理子进程 pm: static 固定数量, ondemand 进程在有需求时才产生, dynamic 动态设置
記憶體比較少,並發量不是很大的應用,可以考慮採用dynamic 的方式,這樣可以控制php-fpm 所消耗的總記憶體數。
在同時發生高或流量波動大的情況下,使用 static 可以在高同時獲得比 dynamic 更快的反應速度。
可設定進程數 = php-fpm 可設定記憶體 / (php-fpm 子進程的記憶體佔用 * 1.2)
以上是PHP-FPM是什麼? PHP-FPM管理與配置的介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!