php pool端口、日志、排障、open_basedir等基础配置

PHP-FPM配置文件(pool)路径:

/usr/local/php-fpm/etc/php-fpm.d/www.conf

PHP的安装路径:

/usr/local/php-fpm

一、改变侦听的端口

vi www.conf

以下语句定义了侦听的端口号

listen = 127.0.0.1:9000

可以修改成你指定的端口号。同时修改nginx配置文件为同样的端口号,服务可以照常运行。

使用脚本重启服务
/etc/init.d/php-fpm restart

查看一下进程和端口是否启动或侦听中。
以下是nginx主机的配置文件中侦听端口的语句,根据上面的端口号修改。

vi /etc/nginx/conf.d/*.conf

fastcgi_pass 127.0.0.1:9000;

重启nginx;

pkill nginx
/sbin/nginx

二、改变侦听socket

vi /usr/local/php-fpm/etc/php-fpm.d/www.conf

;listen = 127.0.0.1:9000 #注释掉;
listen = /tmp/www.socket #新增语句,文件名可自定义;

;listen.owner = php-fpm #默认;
;listen.group = php-fpm #默认;
listen.mode = 0666 #0660改成0666,www.socket由root生成,php-fpm需要读写所以改成666,而且nginx应该也需要读写这个文件;

重启php-fpm

修改nginx主机的配置文件中侦听端口的语句

vi /etc/nginx/conf.d/*.conf

#fastcgi_pass 127.0.0.1:9000 #注释掉;
#fastcgi_pass unix:/tmp/bbs.socket; #新增语句;

重启nginx;

pkill nginx
/sbin/nginx

三、php-fpm错误日志用利于排障

php_flag[display_errors] = off	;错误直接显示在页面上,一般是off;

php_admin_value[error_log] = /var/log/fpm-php.www.log	;将错误保存在文件里,需要touch文件,权限777;
php_admin_flag[log_errors] = on	
php_admin_value[error_reportion] = E_ALL	;将所有错误都保存;

四、ini配置文件

路径:

/usr/local/php-fpm/etc/php.ini

命令查找ini配置文件:

usr/local/php-fpm/bin/php -i |head

phpinfo查找ini配置文件:
页面打开phpinfo页面,显示php所有设置信息;页面写入如下内容:

<?php
phpinfo();
?>
~                                                                                                                                                     

禁用phpinfo

vi /usr/local/php-fpm/etc/php.ini

添加phpinfo在语句里,如下:

disable_functions = phpinfo

五、slowlog

在www.conf里,添加slowlog保存路径,重载后会记录slowlog。

slowlog = /tmp/php.slow
request_slowlog_timeout = 1	;php解释超过1秒就记录下来;

可以在php页面里,添加sleep函数测试slowlog。

<?php sleep (2); ?>

六、open_basedir和多个pool

我们将不同的网站放在一台服务器上,在nginx里配置了多个文件,但是为了让不同网站更安全,需要将他们的php功能分开,而且php能访问的目录也分开。
即使nginx配置了多个网站,还是可以通过同一个端口通信,即多个网站都通过

listen = 127.0.0.1:9000 ;或
listen = /tmp/www.socket

同一个接口实现php功能。

open_basedir的功能就是将php能访问的目录指定。

要实现以上说明的功能,需要配置多个pool,分别设置open_basedir。
下面展示两个pool文件。(bbs 和 blog)

默认的配置文件包括上面所说的内容都包括在以下配置模板(删除所有注释了的内容):

[bbs]
user = php-fpm
group = php-fpm
listen = /tmp/bbs.socket	;据此配置nginx;
listen.mode = 0666
pm = dynamic					;php的运行模式,在配置文件里有详细说明;
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
slowlog = /tmp/php.slow
request_slowlog_timeout = 1
php_flag[display_errors] = off
php_admin_value[error_log] = /var/log/fpm-php.www.log
php_admin_flag[log_errors] = on
php_admin_value[error_reportion] = E_ALL
php_admin_value[open_basedir] = /data/wwwroot/bbs.tany.com:/tmp	;限制php访问的目录;
[blog]
user = php-fpm
group = php-fpm
listen = /tmp/esther.socket
listen.mode = 0666
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
slowlog = /tmp/php.slow
request_slowlog_timeout = 1
php_flag[display_errors] = off
php_admin_value[error_log] = /var/log/fpm-php.www.log
php_admin_flag[log_errors] = on
php_admin_value[error_reportion] = E_ALL
php_admin_value[open_basedir] = /data/wwwroot/www.estherdaily.com:/tmp

记得重启nginx和php。

配置好以后,可以查看到两个pool:

ps aux |grep php

修改了pool里的open_basedir目录,将会影响网站访问,可以在错误日志里查看错误信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值