2018-6-13
12.22 php-fpm慢執行日誌
12.23 open_basedir
12.24 php-fpm進程管理
12.21 php-fpm的pool
起始是可以定義多個的pool(池)的
vim /usr/local/php/etc/php-fpm.log //在[global]部分增加
include = etc/php-fpm.d/*.conf
mkdir /usr/local/php/etc/php-fpm.d/
cd /usr/local/php/etc/php-fpm.d/
vim www.conf //內容如下
[wt.com]
listen = /tmp/www.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
檢查語法是否錯誤然後重啟
右側多了wt.com
vim aaa.com.conf 添加下面這一段
location ~ \.php$
{
include fastcgi_params;
fastcgi_pass unix:/tmp/wt.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/wwwroot/defalut$fastcgi_script_name;
}
這樣兩個域名就可以一起使用了
12.22 php-fpm慢執行日誌
針對www做試驗
vim /usr/local/php-fpm/etc/php-fpm.d/www.conf//加上這兩行
request_slowlog_timeout = 1 //超過一秒記錄日誌
slowlog = /usr/local/php-fpm/var/log/www-slow.log //日誌存放路徑
然後檢查
有www-slow.log 空的 因為還沒有超過一秒的。模擬一個慢執行的php
配置nginx的虛擬主機test.com.conf,把unix:/tmp/php-fcgi.sock改為unix:/tmp/www.sock
重新加載nginx服務
vim /data/wwwroot/test.com/sleep.php//寫入如下內容
<?php echo “test slow log”;sleep(2);echo “done”;?>
curl -x127.0.0.1:80 test.com/sleep.php
cat /usr/local/php-fpm/var/log/www-slow.log
超過一秒鐘就會執行日誌
12.23 open_basedir
vim /usr/local/php-fpm/etc/php-fpm.d/wt.conf//加入如下內容
php_admin_value[open_basedir]=/data/wwwroot/wt.com:/tmp/
創建測試php腳本,進行測試
再次更改aming.conf,修改路徑,再次測試
配置錯誤日誌
再次測試
查看錯誤日誌
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的子進程最多可以處理這麽多請求,當達到這個數值時,它會自動退出。
2018-6-13