PHP-FPM是什麼? PHP-FPM管理與配置的介紹

不言
發布: 2023-04-05 09:52:02
轉載
2802 人瀏覽過

這篇文章帶給大家的內容是關於PHP-FPM是什麼? PHP-FPM管理和配置的介紹,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

PHP-FPM 是什麼?

PHP-FPM 是 FastCGI 的進程管理器。

PHP-FPM 的特點

  • 支援平滑停止、啟動的高階進程管理功能

  • Lance、靜態子進程產生

  • 慢日誌,記錄腳本運行所導致的異常緩慢

  • 可以監聽不同的連接埠和使用不同的php.ini

PHP-FPM 的管理與設定

PHP-FPM 管理

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 是顯示目前進程的快照。

PHP-FPM 配置

/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 动态设置
登入後複製
static 和dynamic 設定

記憶體比較少,並發量不是很大的應用,可以考慮採用dynamic 的方式,這樣可以控制php-fpm 所消耗的總記憶體數。

在同時發生高或流量波動大的情況下,使用 static 可以在高同時獲得比 dynamic 更快的反應速度。

可設定進程數 = php-fpm 可設定記憶體  / (php-fpm 子進程的記憶體佔用 * 1.2)

以上是PHP-FPM是什麼? PHP-FPM管理與配置的介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:segmentfault.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!