6月13日任务

时间:2021-01-11 14:14:54

12.21 php-fpm的pool

首先看一下配置

# cat /usr/local/php-fpm/etc/php-fpm.conf

6月13日任务

php-fpm默认使用一个pool,如果多个网站使用一个pool,当其中一个站点有问题把pool资源耗尽,那其他站点也会502,所以有必要把每个站点隔离开来,每个站点使用单独的pool。

我们可以在配置文件中继续增加内容来设置新的pool

# vim /usr/local/php-fpm/etc/php-fpm.conf

6月13日任务

检查语法 重启php-fpm

6月13日任务

查看进程

# ps aux |grep php-fpm

6月13日任务

那怎么去用这个池子呢?

# cd /usr/local/nginx/conf/vhost/

6月13日任务

#cat  test.com.conf    //监听/tmp/php-fcgi.sock

6月13日任务

# vim aaa.com.conf

6月13日任务

这样两个站点就隔离开了,pool进程最多50个,www资源耗尽不会影响aming


我们还可以这样设置来达到同样的效果

#vim /usr/local/php-fpm/etc/php-fpm.conf   //在global内添加一行include =/usr/local/php-fpm/etc/php-fpm.d/*.conf
6月13日任务

# mkdir /usr/local/php-fpm/etc/php-fpm.d/

#cd !$

然后把关于php-fpm.conf中关于pool的设置拆出来分别放到,新建的www.conf和aming.conf中

6月13日任务

6月13日任务

配置完成要检查语法,重启

# /usr/local/php-fpm/sbin/php-fpm -t

# /etc/init.d/php-fpm restart

6月13日任务


12.22 php-fpm慢执行日志

lnmp可以分析php的慢执行日志

# vim /usr/local/php-fpm/etc/php-fpm.d/www.conf  //添加2行配置

request_slowlog_timeout = 1
slowlog = /usr/local/php-fpm/var/log/www-slow.log

6月13日任务

一般设置的是2秒,这里做试验设置为1秒

检查语法重启服务

# /usr/local/php-fpm/sbin/php-fpm -t

# /etc/init.d/php-fpm restart

查看日志

# ls /usr/local/php-fpm/var/log/

6月13日任务

日志是空的,因为我们没有超过1秒的

6月13日任务


模拟一个慢执行的php

6月13日任务


# vim /data/wwwroot/test.com/sleep.php    //创建一个php文件,写入下面内容(休眠2秒钟)

6月13日任务


访问

# curl -x127.0.0.1:80 test.com/sleep.php

6月13日任务


查看日志

# cat  /usr/local/php-fpm/var/log/www-slow.log

6月13日任务

日志不仅告诉我们哪个文件执行慢,还告诉我们这个文件的第三行执行慢,这就是慢执行日志的功能。


12.23 open_basedir