編輯配置文件vim /usr/local/php-fpm/etc/php-fpm.conf
php
在配置文件中添加以下的內容 [test.com] listen = /tmp/test.sock listen.mode = 666 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
檢查配置文件是否出現錯誤以及從新加載/usr/local/php-fpm/sbin/php-fpm -t
/etc/init.d/php-fpm reload
nginx
配置nginx使用不一樣的spool,我使用的站點爲test.comvim /usr/local/nginx/conf/vhost/test.com.conf
vim
找到 fastcgi_pass unix: 這一行,更改成:fastcgi_pass unix:/tmp/test.sock;
curl
一樣php-fpm的配置文件也是能夠割離的vim /usr/local/php-fpm/etc/php-fpm.conf
ide
在配置文件中添加以下行include = etc/php-fpm.d/*.conf
php-fpm
那麼配置文件就能夠放在php-fpm.d下
執行命令mkdir php-fpm.d
測試
而後就能夠將配置文件單獨分開url
項目用php開發,在生產運行的過程當中,應該一段時間監測下php腳本運行狀態,哪些php進程速度太慢,有哪些錯誤日誌。
如何來查看檢測比較慢的php腳本呢?那麼能夠查看php-fpm慢日誌。
編輯一個配置文件,個人是www.confvim /usr/local/php-fpm/etc/php-fpm.d/www.conf
spa
在文件中添加以下的內容request_slowlog_timeout = 1
slowlog = /usr/local/php-fpm/var/log/www-slow.log
request_slowlog_timeout = 1
設定時間,超過1秒的slowlog = /usr/local/php-fpm/var/log/www-slow.log
#定義日誌存放的地址unix
更改配置文件後檢查配置文件以及從新加載配置/usr/local/php-fpm/sbin/php-fpm -t
/etc/init.d/php-fpm reload
測試配置是否成功,個人www.conf配置文件是aaa.com這個站點在使用的
```在站點aaa.com下建立一個名字爲sleep.php測試文件 `vim /data/wwwroot/aaa.com/sleep.php` 在文件中添加以下的內容 <?php echo "test slow log"; sleep(2); echo "done"; ?> 再對aaa.com下的sleep.php進行訪問 curl -x192.168.71.131:80 aaa.com/sleep.php 訪問完成後查看慢日誌 `cat /usr/local/php-fpm/var/log/www-slow.log` ----- # open_basedir open_basedir 的做用是限制php在指定的目錄裏活動 編輯一個配置文件,個人是www.conf `vim /usr/local/php-fpm/etc/php-fpm.d/www.conf` 在配置文件中添加以下行便可完定義 `php_admin_value[open_basedir]=/data/wwwroot/aaa.com:/tmp/` # php-fpm進程管理 ![](https://s4.51cto.com/images/blog/201806/13/a2dcd5cf1f2499103b93592a3012e8a3.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) `pm = dynamic` //動態進程管理,也能夠是static `pm.max_children = 50` //最大子進程數,ps aux能夠查看 `pm.start_servers = 20` //啓動服務時會啓動的進程數 `pm.min_spare_servers = 5` //定義在空閒時段,子進程數的最少數量,若是達到這個數值時,php-fpm服務會自動派生新的子進程。 `pm.max_spare_servers = 35` //定義在空閒時段,子進程數的最大值,若是高於這個數值就開始清理空閒的子進程。 `pm.max_requests = 500` //定義一個子進程最多處理的請求數,也就是說在一個php-fpm的子進程最多能夠處理這麼多請求,當達到這個數值時,它會自動退出