12.21 php-fpm的poolphp
1. vim /usr/local/php-fpm/etc/php-fpm.confnginx
2. 加入vim
[lxy]
listen = 127.0.0.1:9001
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 = 1024php-fpm
3. /etc/init.d/php-fpm reload //重啓服務測試
4. 而後在nginx配置文件中 配置不一樣的php 鏈接地址spa
這樣在9000 掛掉的前提下 不影響9001.net
另支持nginx vhost 寫法 將pool 單獨寫成配置文件日誌
配置文件加入server
include = etc/php-fpm.d/*.conf進程
12.22 php-fpm慢執行日誌
1 . vim /usr/local/php-fpm/etc/php-fpm.conf.d/www.conf//加入以下內容
request_slowlog_timeout = 1
slowlog = /usr/local/php-fpm/var/log/www-slow.log
2. vim /data/wwwroot/lxycsm/sleep.php
<?php
echo "test slow log";
sleep(2);
echo "done";
?>
3. 測試查看日誌
[root@lxy lxycsm]# cat /usr/local/php-fpm/var/log/www-slow.log
[20-May-2018 23:20:32] [pool www] pid 6316
script_filename = /data/wwwroot/lxycsm/sleep.php
[0x00007f992c39c560] sleep() /data/wwwroot/lxycsm/sleep.php:3
12.23 open_basedir
1. vim /usr/local/php-fpm/etc/php-fpm.conf.d/www.conf //加入以下內容
php_admin_value[open_basedir]=/data/wwwroot/www.com:/tmp/
open_basedir限制php在指定路徑運行
2. 配置錯誤日誌
vim /usr/local/php-fpm/etc/php.ini
display_errors = Off //關掉
error_log = /usr/local/php-fpm/var/log/php_errors.log
error_reporting = E_ALL
3. /usr/local/php-fpm/var/log/php_errors.log //建立日誌目錄
chmod 777 /usr/local/php-fpm/var/log/php_errors.log //設置權限
12.24 php-fpm進程管理
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的子進程最多能夠處理這麼多請求,當達到這個數值時,它會自動退出。
pm = dynamic // static 只有 pm.max_children =50 生效