当前位置 : 主页 > 操作系统 > centos >

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

来源:互联网 收集:自由互联 发布时间:2022-07-17
php服务的端口及nginx访问路径的配置 本机演示: 由于nginx访问的是php所以访问时默认找的文件路径在这里 如图! 如果将端口更改成别的 例如 9001 那么将不能访问 也可查看nginx错误日志
php服务的端口及nginx访问路径的配置

本机演示:

由于nginx访问的是php所以访问时默认找的文件路径在这里 如图!image.pngimage.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.pngimage.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.pngps: 如果没有生成 表示没有错误日志

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优先级稍低)

【文章出处:香港服务器 https://www.68idc.cn欢迎留下您的宝贵建议】
网友评论