配置php-fpm參數

#lnmpphp-fpm相當於apache,處理php腳本,nginx可以說是一個代理

#php-fpmfastcgi有兩種通信方式:sock或者IP+端口

#php-fpm是處理php腳本,nginx是處理用戶請求,請求的php是由php-fpm處理

 

 

php-fpm配置文件

vim /usr/local/php/etc/php-fpm.conf                         #清空源文件

[global]

pid = /usr/local/php/var/run/php-fpm.pid

error_log =/usr/local/php/var/log/php-fpm.log

[www]

listen = /tmp/php-fcgi.sock                                           #或者listen =127.0.0.1:9000

user = php-fpm

group = php-fpm

listen.owner = nobody

listen.group = nobody

pm = dynamic

pm.max_children = 50

pm.start_servers = 20

pm.min_spare_servers = 5

pm.max_spare_servers = 35

pm.max_requests = 500

rlimit_files = 1024

slowlog = /tmp/www_slow.log

request_slowlog_timeout = 1

php_admin_value[open_basedir]=/data/www/:tmp/

[www1]

listen = /tmp/php-fcgi2.sock                                         #或者listen =127.0.0.1:9001

user = php-fpm

group = php-fpm

pm = dynamic

pm.max_children = 50

pm.start_servers = 20

pm.min_spare_servers = 5

pm.max_spare_servers = 35

pm.max_requests = 500

rlimit_files = 1024

 

#www可以分多個池   slowlog開啓慢查詢日誌,時間超過1s就記錄下來

fastcgi使用sock時,一定要指定nginx的用戶和組,因爲nginx虛擬主機指定了去哪裏讀fastcgisock,所以需要nginx用戶的權限,不然網頁會502

listen.owner = nobody

listen.group = nobody

fastcgi使用sock時,nginx的虛擬主機也要使用sock解析php

動態、靜態子進程pm = static/dynamic

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

如果選擇dynamic,則由以下參數決定:

pm.max_children 靜態方式下開啓的php-fpm進程數量,在動態方式下他限定php-fpm的最大進程數,這裏要注意pm.max_spare_servers的值只能小於等於pm.max_children)

pm.start_servers ,啓動時的進程數

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

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

對於專用服務器,pm可以設置爲static

 

/usr/local/php/sbin/php-fpm –t

/etc/init.d/php-fpm restart                                 #重啓後/tmp/php-fcgi.sock權限變成660

 

 

 

 

 

 

 


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