php中的fpm 基於php fpm的配置詳解

2021-10-22 22:46:32 字數 2831 閱讀 9386

php5.3自帶php-fpm/usr/local/php/etc/php-fpm.conf

pid = run/php-fpm.pid

pid設定,預設在安裝目錄中的var/run/php-fpm.pid,建議開啟

error_log = log/php-fpm.log錯誤日誌,預設在安裝目錄中的var/log/php-fpm.log

log_level = notice錯誤級別. 可用級別為: alert(必須立即處理), error(錯誤情況), warning(警告情況), notice(一般重要資訊), debug(除錯資訊). 預設: notice.

emergency_restart_threshold = 60

emergency_restart_interval = 60s表示在emergency_restart_interval所設值內出現sigse**或者sigbus錯誤的php-cgi程序數如果超過 emergency_restart_threshold個,php-fpm就會優雅重啟。這兩個選項一般保持預設值。

process_control_timeout = 0

設定子程序接受主程序復用訊號的超時時間. 可用單位: s(秒), m(分), h(小時), 或者 d(天) 預設單位: s(秒). 預設值: 0.

daemonize = yes後台執行fpm,預設值為yes,如果為了除錯可以改為no。

在fpm中,可以使用不同的設定來執行多個程序池。 這些設定可以針對每個程序池單獨設定。

listen = 127.0.0.1:9000

fpm監聽埠,即nginx中php處理的位址,一般預設值即可。

可用格式為: 『ip:port', 『port', 『/path/to/unix/socket'. 每個程序池都需要設定.

listen.backlog = -1

backlog數,-1表示無限制,由作業系統決定,此行注釋掉就行。backlog含義參考:

listen.allowed_clients = 127.0.0.1允許訪問fastcgi程序的ip,設定any為不限制ip,如果要設定其他主機的nginx也能訪問這台fpm程序,listen處要設定成本地可被訪問的ip。預設值是any。

每個位址是用逗號分隔. 如果沒有設定或者為空,則允許任何伺服器請求連線

listen.owner = www

listen.group = www

listen.mode = 0666unix socket設定選項,如果使用tcp方式訪問,這裡注釋即可。

user = www

group = www啟動程序的帳戶和組

pm = dynamic如何控制子程序,選項有static和dynamic。

如果選擇static,則由pm.max_children指定固定的子程序數。

如果選擇dynamic,則由下開引數決定:

pm.max_children ,子程序最大數

pm.start_servers ,啟動時的程序數

pm.min_spare_servers ,保證空閒程序數最小值,如果空閒程序小於此值,則建立新的子程序

pm.max_spare_servers ,保證空閒程序數最大值,如果空閒程序大於此值,此進行清理

對於專用伺服器,pm可以設定為static。

pm.max_requests = 1000設定每個子程序重生之前服務的請求數. 對於可能存在記憶體洩漏的第三方模組來說是非常有用的. 如果設定為 '0′ 則一直接受請求. 等同於 php_fcgi_max_requests 環境變數. 預設值: 0.

pm.status_path = /statusfpm狀態頁面的**. 如果沒有設定, 則無法訪問狀態頁面. 預設值: none.

ping.path = /pingfpm監控頁面的ping**. 如果沒有設定, 則無法訪問ping頁面. 該頁面用於外部檢測fpm是否存活並且可以響應請求. 請注意必須以斜線開頭 (/)。

ping.response = pong用於定義ping請求的返回相應. 返回為 http 200 的 text/plain 格式文字. 預設值: pong.

request_terminate_timeout = 0設定單個請求的超時中止時間. 該選項可能會對php.ini設定中的'max_execution_time'因為某些特殊原因沒有中止執行的指令碼有用. 設定為 '0′ 表示 『off'.

當經常出現502錯誤時可以嘗試更改此選項。

request_slowlog_timeout = 10s當乙個請求該設定的超時時間後,就會將對應的php呼叫堆疊資訊完整寫入到慢日誌中. 設定為 '0′ 表示 『off'

slowlog = log/$pool.log.slow慢請求的記錄日誌,配合request_slowlog_timeout使用

rlimit_files = 1024設定檔案開啟描述符的rlimit限制. 預設值: 系統定義值

系統預設可開啟控制代碼是1024,可使用 ulimit -n檢視,ulimit -n 2048修改。

rlimit_core = 0設定核心rlimit最大限制值. 可用值: 『unlimited' 、0或者正整數. 預設值: 系統定義值.

chroot =

啟動時的chroot目錄. 所定義的目錄需要是絕對路徑. 如果沒有設定, 則chroot不被使用.

chdir =

設定啟動目錄,啟動時會自動chdir到該目錄. 所定義的目錄需要是絕對路徑. 預設值: 當前目錄,或者/目錄(chroot時)

catch_workers_output = yes

重定向執行過程中的stdout和stderr到主要的錯誤日誌檔案中. 如果沒有設定, stdout 和 stderr 將會根據fastcgi的規則被重定向到 /dev/null . 預設值: 空.

php中的fpm PHP中的FPM是做什麼的

fpm是fastcgi process manager的縮寫,由全稱我們可以知道其和fastcgi有關,就是乙個fastcgi的程序管理器。對於fastcgi我們可以理解成乙個協議,兒fpm是其在php中的乙個實現。fpm的出現實現了php應用的分布式部署,這樣使得php和web伺服器可以在不同的機...

基於php開發的RESTful ApiDoc文件

apidoc基於rest的web api文件生成器,可以根據 注釋生成web api文件,自動生成靜態的html網頁文件,不僅支援專案版本號,還支援api版本號。使用apidoc不需要自己麻煩的調word的格式,就可以生成乙份漂亮的api文件。既美觀又可以裝逼。先看效果 1 安裝 php執行環境 p...

shellstack,基於php的後門管理工具

參考 1 2 3 shellstack是乙個基於php的後門管理工具。能夠跟蹤他們所有 的蹤跡。該工具生成乙個後門檔案,您只需要上傳到站點,並將後門url放在工具目錄中的shells.txt中。可以實現 匯入php shell 獲取伺服器詳細資訊 使用終端從您的系統上傳檔案 最重要的是您可以有效地管...