0
点赞
收藏
分享

微信扫一扫

15php-fpm 配置(php)slowlog 日志、open_basedir 、pool

php服务的端口及nginx访问路径的配置

本机演示:

由于nginx访问的是php所以访问时默认找的文件路径在这里 如图!
image.png
image.png
如果将端口更改成别的 例如 9001 那么将不能访问

也可查看nginx错误日志

tail /var/log/nginx/error.log

如果想要访问要么将其改回来,要么将php-fpm监听的port改成9001

vim /usr/local/php-fpm/etc/php-fpm.conf   找到php-fpm的配置文件并打开
打开之后找到最后一行 include=/usr/local/php-fpm/etc/php-fpm.d/*.conf  看他包含的文件在哪里
按照路径找到他的子配置文件,(个人自定义的文件名)  

image.png

vim www.conf  打开

image.png

pool 的名称可以自定义 可以使用ps aux 查看

image.png
image.png
然后往下找到 listen = 127.0.0.1:9000 如图!
image.png

更改之后 重启 php配置文件
/etc/init.d/php-fpm restart   重启  
或者
/usr/local/php-fpm/sbin/php-fpm -t  查看配置文件是否更改错误
 /etc/init.d/php-fpm reload  重载php
然后查看刚刚配置的路径下是否生成文件 如图!

image.png
完成之后配置nginx文件使用 /tmp/www.socket

vim/etc/nginx/conf.d/bbs.centos2.cc  (自己的nginx配置文件路径)

image.png

重载nginx配置文件
nginx -t
nginx -s reload

此时还需要更改 /tmp/www.socket 文件的权限
vim www.conf  打开php配置文件 找到图中所示的行并按图中做出修改

/etc/init.d/php-fpm restart   最后重启 php服务  即可完成配置,也可刷新网页访问测试查看是否成功

image.png

php服务 配置文件中其他的配置信息
vim www.conf   打开配置文件
文件中:
pm = dynamic 动态模式 ps aux | grep php-fpm 下的进程数 (下方有参考 static 静态模式等等····)
pm.max_children = 5 表示最大的子进程数只能有五个 
pm.start_servers = 2 表示一开始启动几个子进程数量
pm.min_spare_servers = 1  空闲时,最少不能少于几个子进程
pm.max_spare_servers = 3  空闲时,最多不能多于几个子进程

php_flag[display_errors] = off    这里如果开启之后off改成on 如果配置文件中有错误 网页浏览时网页最上方会提示错误信息且配置文件路径也会显示出来  建议调试的时候更改成on 方便查看 平常要关掉  如果不像更改为on又要方便查看错误信息 更改下列配置  增加错误日志 这样就可以去错误日志中查看
php_admin_value[error_log] = /var/log/fpm-php.www.log  配置错误日志 增加日志路径
php_admin_flag[log_errors] = on        这里打开不动即可
php_admin_value[error_reporting] = E_ALL   指定错误日志级别  all表示全部记载

/usr/local/php-fpm/sbin/php-fpm -t   查看是否配置错误

然后需要创建 错误日志路径
touch /var/log/fpm-php.www.log     创建
chmod 777 /var/log/fpm-php.www.log  增加权限
/etc/init.d/php-fpm restart  重启服务 并刷新网页页面生成日志
cat /var/log/fpm-php.www.log    查看是否生成日志

这些都可以在php.ini中定义
/usr/local/php-fpm/bin/php -i |head   查看php.ini 路径

image.png
ps: 如果没有生成 表示没有错误日志

 vim /data/www/bbs.centos2.cc/forum.php    打开网页文件  随便写入一些东西 (自己本机的路径) /etc/init.d/php-fpm restart  重启服务 并刷新网页页面生成日志
cat /var/log/fpm-php.www.log    再次查看是否生成日志
/usr/local/php-fpm/sbin/php-fpm -t

image.png

配置slowlog 日志(方便排错)
slowlog = /tmp/php.slow  定义php脚本执行慢的日志  (路径自定义)
request_slowlog_timeout = 1   定义超时时间 比如访问时超时一秒钟即计入日志
/usr/local/php-fpm/sbin/php-fpm -t
/etc/init.d/php-fpm reload  重载php

image.png

此时到网站路径下的forum.php 中加入一行 sleep (10);  如图

image.png

这时候网页浏览此地址 即会延迟十秒钟才会显示出新页面

image.png

 cat /tmp/php.slow  查看定义的slow日志 可以看到 为什么慢,可以看到哪个文件,哪一行,哪一段的原因引起的

image.png

配置open_basedir
用来定义php服务所能够允许在某一个路径下活动

open_basedir  没在php的配置文件中 实际在 php.ini文件中
vim /usr/local/php-fpm/etc/php.ini  打开自己php.ini的路径
open_basedir = /home:/root 更改配置  表示只能在home 和 root 下
/etc/init.d/php-fpm reload 重载php配置  这时候刷新网页页面就打不开了
tail /var/log/fpm-php.www.log  查看错误日志 如图!

image.png
重新更改路径

vim /usr/local/php-fpm/etc/php.ini 
open_basedir = /data/www/bbs.centos2.cc:/tmp   前面是网站根目录的路径,tmp要加上,因为网站要到tmp下生成临时文件的  (建议只要配置open_basedir 一定要加上tmp)
/etc/init.d/php-fpm reload   然后重载php  刷新网页即可

ps: 如果定义的这个路径下有别的网站,那么别的网站将不能访问,想要访问 需要咋php.ini中用同样的格式定义open_basedir, 但是这样做不安全不建议,最好的方法是在php配置文件中定义

例:

配置pool
首先将php.ini的open_basedir 给注释掉 不定义

image.png

vim /usr/local/php-fpm/etc/php-fpm.d/www.conf   打开配置文件
php_admin_value[open_basedir] = /data/www/centos2.cc:/tmp   加入一行

image.png
然后增加一个pool(池子)

找到php配置文件中的图中内容
vim blog.conf   重新创建一个pool  把内容复制到里面

image.png
上面是修改前,下面是修改后
image.png

/usr/local/php-fpm/sbin/php-fpm -t   修改完成后 检查一下看是否有冲突的地方  
/etc/init.d/php-fpm restart    重启
ls /tmp/  查看是否生成了socket

image.png

ps aux | grep php-fpm  

image.png
完成之后想要另一个网站也能访问的 由于上面修改了 nginx 配置文件 (PHP指定socket)也需要重新绑定socket 如图
image.png

然后重载nginx 
nginx -t
nginx -s reload
然后网页浏览验证即可

ps: 如果在php.conf 和php.ini 都定义了 生效的是php.conf (php.ini优先级稍低)

举报

相关推荐

0 条评论