php-fpm的pool池子、php慢日志记录、open_basedir、php-fpm进程管理

一、php-fpm的poo池子:
目的:可让不一样的网站,对于不一样的php解析,能够把不一样的网站解析区分开。
编辑:vim /usr/local/php5-fpm/etc/php-fpm.conf
加入:php

[test]
listen = /tmp/php-test.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/php5-fpm/sbin/php-fpm -t
从新加载php-fpm:/etc/init.d/php-fpm reload
查看:ps -aux | grep php-fpmnginx


查看:
vim

在配制nginx虚拟主机的时候就能够对应着改了,好比在server里面加入如下代码:php-fpm

location ~ \.php$
{
#把php整合
include fastcgi_params;
fastcgi_pass unix:/tmp/php-test.sock;
#fastcgi_pass 127.0.0.1:8080;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/test.com$fastcgi_script_name;
}学习

再从新加载nginx以后,解析就会分开了。测试

这样子,就能够配制网站不一样的php解析了,但还能够进行优化,修改为以下:
修改:/usr/local/php5-fpm/etc/php-fpm.conf
改为:优化

[global]
pid = /usr/local/php5-fpm/var/run/php-fpm.pid
error_log = /usr/local/php5-fpm/var/log/php-fpm.log
include=/usr/local/php5-fpm/etc/vconf/*
/usr/local/php5-fpm/etc/下建立vconf目录:mkdir /usr/local/php5-fpm/etc/vconf/  
在建立对应虚拟机的配制文件:vim  /usr/local/php5-fpm/etc/vconf/test.conf 并加入相关代码:网站

[name_xxxx]  #对应的解析池名能够本身随便取
listen = /tmp/vconf.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/php5-fpm/sbin/php-fpm -t
而后从新加载:/etc/init.d/php-fpm reloadspa


查看:
unix

之后,就能够在vconf下设置,不一样虚拟机的php解析池了。

二、php慢日志记录

目的:为了找出网站慢的缘由
编辑访问慢的主机的配制文件:vim /usr/local/php5-fpm/etc/vconf/test.conf
追加:

request_slowlog_timeout = 1  #这里默认通常设置为2秒
slowlog = /usr/local/php5-fpm/var/log/test-slow.log
检查语法:/usr/local/php5-fpm/sbin/php-fpm -t
而后从新加载:/etc/init.d/php-fpm reload

写一个php文件,加入如下代码进行测试:

<?php
echo "vconf_test..com _php; test slow log";sleep(2);
?> 

而后进行访问:

到此慢日志记录配制完成。

 

三、open_basedir 目录权限访问控制
目的:设置目录权限访问控制
编辑:vim /usr/local/php5-fpm/etc/vconf/test.conf
追加:php_admin_value[open_basedir]=/var/www/test.com:/tmp/  #这里表示,容许访问的权限只有/var/www/test.com 和 /tmp/目录
(能够这样子理解,即php模块进行解析时,只能运行在这2个目录下)
                 

检查语法:/usr/local/php5-fpm/sbin/php-fpm -t
而后从新加载:/etc/init.d/php-fpm reload
若把/usr/local/nginx/conf/vhost/test.com.conf 的root 目录改成/var/www/222目录,尝试访问:

而后,咱们进行测试:

总结:
php解析模块里面的配制文件

/usr/local/php5-fpm/etc/vconf/test.conf )文件的 解析目录(php_admin_value[open_basedir]=/var/www/test.com:/tmp/ )的权限 限定,和
nginx配制文件
/usr/local/nginx/conf/vhost/test.com.conf)中的php整合模块(fastcgi_param SCRIPT_FILENAME /var/www/test.com$fastcgi_script_name;
的php文件存放的路径要同样。若不同,访问php文件时,则会显示:No input file specified.(即找不到指定文件)

 若nginx配制文件
/usr/local/nginx/conf/vhost/test.com.conf)中的root /var/www/test.com;和fastcgi_param SCRIPT_FILENAME /var/www/test.com$fastcgi_script_name;
的路径不同的话,那么访问php文件时,就显示File not found(即找不到文件)。 

 

四、php-fpm进程管理
编辑:vim /usr/local/php5-fpm/etc/vconf/test.conf 文件,对其配制,根据本身机器的实际状况进行配制。

[vconf]
listen = /tmp/vconf.sock
listen.mode=666
user = php-fpm
group = php-fpm
pm = dynamic
;pm =static
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

request_slowlog_timeout = 1
slowlog = /usr/local/php5-fpm/var/log/test-slow.log

php_admin_value[open_basedir]=/var/www/test.com/:/tmp/


 

 到此 lnmp 相关学习完闭。

相关文章
相关标签/搜索