11月30日
12.21 php-fpm的pool
Php-fpm的pool(配置多个池子)
· vim /usr/local/php/etc/php-fpm.conf 在[global]部分增加
Include = etc/php-fpm.d/*.conf
· mkdir /usr/local/php/erc/php-fpm.d/
· cd /usr/local/php/etc/php-fpm.d/
· vim aming.conf 内容如下
[www]
listen = /tmp/aming.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 restart 重启服务
12.22 php-fpm慢执行日志
php -fpm慢执行日志
· vim /usr/local/php-fp/etc/php-fpm.d/www.conf 加入如下内容
requet_slowlog_tieout = 1 超过1秒钟记录日志(一般是1-2秒之间)
slowlog = /usr/local/php-fpm/var/log/www-slow.log 日志存放目录
· 配置nginx的虚拟主机test.com.conf,把unix:/tmp/php-fcgi.sock改为unix:/tmp/www.sock
· 重新加载nginx服务
· vim /data/wwwroot/test.com/sleep.php 写入如下内容
echo “test slow log”;
sleep(2);
echo “done”;
?> 让php故意休眠两秒钟
· curl -x127.0.0.1:80 test.com/sleep.php 访问sleep.php
· cat /usr/local/php-fpm/var/log/www-slow.log 查看慢执行日志.
12.23 open_basedir
Php-fpm定义open_basedir
· vim /usr/local/php-fpm/etc/php-fpm.d/aming.conf 加入如下内容
php_admin_value[open_basedir]=/data/wwwroot/aming.com:/tmp/
· 创建测试php脚本,进行测试
vi /data/wwwroot/test.com/3.php
Phpinfo();
· 再次更改aming.conf,修改路径,再次测试
vim /usr/local/php-fpm/etc/php-fpm.d/aming.conf
php_admin_value[open_basedir]=/data/wwwroot/test.com:/tmp/
curl -x127.0.0.1:80 test.com/3.php
· 配置错误日志
vi /usr/local/php-fpm/etc/php.ini 修改以下内容
display_ereors = off 关闭
error_log = /usr/local/php-fpm/var/log/php_errors.log 错误日志存放路径
error_reportin = E_ALL 级别定义为所有
grep error_log /usr/local/php-fpm/etc/php.ini 查看php.ini下的错误日志路径
touch /usr/local/php-fpm/var/log/php_errors.log 创建文件
chmod 777 /usr/local/php-fpm/var/log/php_errors.log 修改文件权限
/etc/init.d/php-fpm restart 重启服务
· 再次测试
curl -x127.0.0.1:80 test.com/3.php
· 查看错误日志
cat /usr/local/php-fpm/var/log/php_errors.log
12.24 php-fpm进程管理
php-fpm进程管理 (vim aming.conf)
· pm = dynamic 动态进程管理。也可以说static,改成static启动就会生成50个,
· 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的子进程最多可以处理这么多请求,当达到这个数值时,它会自动退出。