6月13日任务

12.21 php-fpm的pool
12.22 php-fpm慢执行日志
12.23 open_basedir

12.24 php-fpm进程管理

php-fpm的pool

设置多个pool监听不同socket/IP&端口的好处:nginx可以有好几个站点,每个站点都可以使用一个pool,如果其中一个php站点502,(可能是php资源不够,如代码有问题耗尽资源),可以互不影响的让另一个站点正常访问(因为监听的是不同的socket/tcp&ip,隔离开来了)

测试:添加一个池子


-t, reload发现多了一个pool


也可以像nginx一样在global全局变量里加入include /etc/php-fpm.d/*.conf,把pool分开编写到不同的站点配置文件中,如下图把php解析部分复制到vhost下的aaa.com.conf中


cd /usr/local/php-fpm/etc/php-fpm.conf,加入include = etc/php-fpm.d/*.conf



创建mkdir /usr/local/php-fpm/etc/php-fpm.d/  把 /usr/local/php-fpm/etc/php-fpm中的两个pool配置文件分别加入到liut.conf 和www.conf中实现拆分,/usr/local/php-fpm/sbin/php-fpm -t, /etc/init.d/php-fpm restart后再ps aux |grep php-fpm发现也有两个pool,类似于nginx的vhost主配置文件中的include vhost/*.conf

php-fpm慢执行日志


系统负载高可以用各种命令查出进程

操作:在/usr/local/php-fpm/etc/php-fpm.d/www.conf中加入

request_slowlog_timeout=1

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


-t, reload后发现slow.log已经生成,空文件


如下图,/tmp/php-fcgi.sock由test.com使用的,在/data/wwwroot/test.com站点编写一个慢日志测试脚本


编写如下脚本: vim  /data/wwwroot/test.com/sleep.php


并没有停留2秒执行效果,-I发现有500错误,看日志,打开/usr/local/php-fpm/etc/php.ini配置文件,输入display_error把Off改成on


reload php-fpm服务,再执行一遍,发现错误日志弹出

修改正确后,再!curl执行慢日志测试文件成功,cat /usr/local/php-fpm/var/log/www-slow.log提示php脚本第三行导致的sleep(2)


事实上,因为硬件或者框架等诸多原因,很多php脚本在执行过程中都要1~2秒的时间,所以request_slowlog_timeout 设置成2秒比较合适

Open_basedir


如果一个服务器上跑多个网站,则在php.ini配置文件中定义open_basedir不合适,因为一旦定义了就是全局变量,所以要么在php-fpm配置文件中定义,要么在vhost虚拟主机配置文件中定义

测试:在www.conf中加入一行open_basedir配置

php_admin_value[open_basedir]=/data/wwwroot/liut.com:/tmp/


/usr/local/php-fpm/sbin/php-fpm -t, /etc/init.d/php-fpm restart

!curl,报错


定义php-fpm的错误日志,

① display_errors改成Off(出于安全考虑,不关掉会直接显示具体错误位置,正常情况下是定义一个error_log文件专门存放日志)

②定义error_log路径


③指定日志错误级别 error_reporting,注释掉原有的日志错误级别


④查看该错误日志路径是否存在,如果不存在需要创建并修改777权限(读写都要有)


!curl, cat日志发现open_basedir限制生效,要访问的路径不在限制范围内,再回到www.conf文件中查看监听的socket实际上是nginx虚拟配置文件的test.com所对应的站点,改成匹配的open_basedir再测试发现成功


php进程管理


动态进程管理:可以根据需求变化,如一开始启动20个,自动生成新的子进程,如果服务器比较闲的时候服务器可以自动销毁,当销毁到一定程度的时候又会生成新的进程,通过这些参数控制(静态则不变)

注释用;


猜你喜欢

转载自blog.csdn.net/fuel91/article/details/80714383