標籤:php-fpm參數
#在lnmp,php-fpm相當於apache,處理php指令碼,nginx可以說是一個代理
#php-fpm,fastcgi有兩種通訊方式: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虛擬機器主機指定了去哪裡讀fastcgi的sock,所以需要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
本文出自 “11736718” 部落格,請務必保留此出處http://11746718.blog.51cto.com/11736718/1876250
配置php-fpm參數