Php—— 2.php-fpm配置

關於,進程文件,日誌文件保存爲位置,日誌級別的配置

# 進程號記錄文件保存地址,默認自帶前綴 /path/var/
pid = run/php-fpm.pid   
# 錯誤日誌保存地址,默認自帶前綴 /path/var/
error_log = log/php-fpm.log 
# 日誌記錄的級別,總共七個級別分別是 alert error warning notice debug notice debug
log_level = notice 
 # 日誌內容的前綴
syslog.ident = php-fpm        

連續發生錯誤時的重啓配置,當第二個值的時間內 SIGSEGV 或者SIGBUS 錯誤出現大於第一個值,程序會重啓

# 錯誤上限 
emergency_restart_threshold = 0
# 段時間,支持單位,秒(s) 分 (m) 時 (h) 天(d)   
emergency_restart_interval = 0 

進程的常規配置

 # 子進程響應時間,當子進程超過該時間沒響應,會切換子進程
process_control_timeout = 5s       
# 可以生成的進程最大數,會覆蓋局部進配置中的 dynamic PM 的,謹慎使用 
process.max = 0     

進程的運行方式,即前後臺

# yes 爲後臺運行, no 爲前臺運行
daemonize = yes   

運行路徑用戶和用戶組的配置

# 運行路徑的配置,默認爲 PHP 安裝的路徑,不建議配置,方便移植
prefix = /path/to/pools/$pool
# 運行的用戶,生產環境下不建議使用 root,使用 root 啓動時要加上 -R 參數
user = root
# 運行用戶所在的組,非必須
group = root

關於 IP 和端口的監聽

# 能被 FastCGI 請求訪問的地址,如果要被外網訪問,需要綁定公網IP
listen = 127.0.0.1:9000
# 監聽隊列的最大值
listen.backlog = 511 
# 允許連接的FastCGI客戶端的地址列表
listen.allowed_clients = 127.0.0.1

關於工作進程數量的控制

# 啓動哪一種模式,共三種  dynamic(動態),ondemand(按需),static(靜態)
pm = dynamic   
# 當 pm 設置爲 static 時要創建的子進程數量,當PM設置爲“動態”或“按需”時子進程的最大數量
pm.max_children = 5
# 當 pm 設置爲 dynamic 時初始化的進程數
pm.start_servers = 1
# 當 pm 設置爲 dynamic 時允許的最小進程數
pm.min_spare_servers = 1
# 當 pm 設置爲 dynamic 時允許的最大進程數,不能大於 pm.max_children
pm.max_spare_servers = 3
# 子進程空閒多久之後自動關閉,當 pm 設置爲 ondemand 下有效
pm.process_idle_timeout = 100s
# 子進程在處理了多少請求之後重啓,有助於防止內存泄露,0 不重啓,這個值在條件允許下可以設置的大一點
pm.max_requests = 500
# 查看 FPM 運行狀態,獲取相關參數的路徑
pm.status_path = /status.php 

服務運行是否正常的檢測

# Web ping 指令模擬地址,常用來檢測服務是否正常啓動,正常返回 pong
ping.path = /ping.php
# 自定義 ping 請求的響應
ping.response = pong

###########日誌相關配置(訪問日誌一般使用 nginx 的日誌,不建議配置)
# 訪問日誌的保存路徑,默認不配置
access.log = log/$pool.access.log
# 日誌輸出格式
access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%"

請求響應慢速的日誌相關配置

# 單個請求的超時時間,超過這個時間的請求會被記錄到慢速日誌
request_slowlog_timeout = 0
# 響應慢的請求日誌保存地址,如果配置了 request_slowlog_timeout,必須配置
slowlog = log/$pool.log.slow
# 緩慢日誌跟蹤的堆棧跟蹤深度
request_slowlog_trace_depth = 20
# 單個請求可執行的腳本的最大時間,和 php.ini 的 max_execution_time 共同決定腳本的最大執行時間

PHP環境的相關配置

# 清除 FPM 工作進程的環境,防止任意變量進入到輔助進程,爲 no 可以使用任意變量
clear_env = yes
# 設置 PHP 解析腳本的後綴,防止惡意上傳的文件解析執行,可以是多個,用空格隔開
security.limit_extensions = .php .php3 .php4 .php5 .php7

————Blueicex 2020/2/27 10:53 [email protected]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章