php-fpm是用來處理php請求的,它的配置文件爲/usr/local/php/etc/php-fpm.conf(路徑隨我的環境)php
php-fpm.conf自帶是有內容的不過大部分被註釋掉了因此咱們不妨刪除原有的內容從新寫入。nginx
#> /usr/local/php/etc/php-fpm.conf # >單獨使用能夠清空一個文件vim
# vim/usr/local/php/etc/php-fpm.conf ide
[global] # 全局部分php-fpm
pid =/usr/local/php/var/run/php-fpm.pid性能
error_log =/usr/local/php/var/log/php-fpm.log網站
[www] # pool部分(名稱能夠自定義)spa
listen = /tmp/www.sock unix
user = php-fpmrest
group = php-fpm
pm = dynamic #動態管理,靜態就是static
pm.max_children = 50 #子進程最大50個
pm.start_servers = 20 #服務啓動時生成20個子進程
pm.min_spare_servers =5 #空閒子進程最少5個
pm.max_spare_servers =35 #空閒子進程最多35個
pm.max_requests = 500 #一個子進程生命週期內最多處理多少個請求
rlimit_files = 1024 #每一個進程所使用文件描述符的限制
建立多個池子
[www1]
listen =/tmp/www1.sock
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
#/etc/init.d/php-fpm restart #重啓服務
不一樣的域名指定不一樣的池子/多個域名使用一個池子
#ls /usr/local/nginx/conf/vhosts
111.conf 222.conf
編輯fastcgi_pass unix:/tmp/php-fcgi.sock這行
指定池子,如指定www ,則修改成fastcgi_pass unix:/tmp/www.sock
如指定www1 ,則修改成fastcgi_pass unix:/tmp/www1.sock
性能追蹤 網站運行慢
#vim/usr/local/php/etc/php-fpm.conf
在每一個池子下面加入慢查詢
slowlog =/tmp/www_slow.log #不一樣的池子指定不一樣的slowlog
request_slowlog_timeout=1 #超時時間,超過1秒就記錄它
php_admin_value[open_basedir]=/data/www/:/tmp/
#open_dasedir將用戶訪問文件的活動範圍限制在指定的區域,一般是其家目錄的路徑