扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
request_slowlog_timeout = 1 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//写入如下内容
创新互联长期为千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为屏山企业提供专业的网站制作、成都网站建设,屏山网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。curl -x127.0.0.1:80 test.com/sleep.php cat /usr/local/php-fpm/var/log/www-slow.log php-fpm慢执行日志 在做php网站的时候,建议使用lnmp,因为我们可以分析php的慢执行 查询方法: 1.系统负载,可以通过各种工具查,查出是哪个进程导致 2.PHP网站访问慢,通过查看慢日志 配置www.conf 在配置文件中加入
request_slowlog_timeout = 1 //超过一秒钟就要记录日志 slowlog = /usr/local/php-fpm/var/log/www-slow.log //日志放到该路径下
最终如下
[root@hanfeng php-fpm.d]# vim www.conf [www] listen = /tmp/php-fcgi.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 request_slowlog_timeout = 1 slowlog = /usr/local/php-fpm/var/log/www-slow.log 保存退出 查看语法错误,并重新加载
[root@hanfeng php-fpm.d]# /usr/local/php-fpm/sbin/php-fpm -t [10-Jan-2018 00:04:26] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful [root@hanfeng php-fpm.d]# /etc/init.d/php-fpm reload Reload service php-fpm done [root@hanfeng php-fpm.d]# 查看/usr/local/php-fpm/var/log/www-slow.log日志是否生成
[root@hanfeng php-fpm.d]# ls /usr/local/php-fpm/var/log/ php-fpm.log www-slow.log [root@hanfeng php-fpm.d]# 查看日志会看到没有内容,因为没有超过一秒php执行的过程
[root@hanfeng php-fpm.d]# cat /usr/local/php-fpm/var/log/www-slow.log [root@hanfeng php-fpm.d]# 模拟一个慢执行的php,写一个脚本,由于php-fcgi它是被在test这个站点用着,所以需要在这个/data/wwwroot/test.com目录下做一些操作
[root@hanfeng php-fpm.d]# vim /data/wwwroot/test.com/sleep.php 加入php休眠两秒钟,故意让它执行慢 保存退出 php可以不换行,写成一行 运行php脚本,但是未输出信息,检测会看到状态码为500,说明有错误
[root@hf-01 php-fpm.d]# curl -x127.0.0.1:80 test.com/sleep.php [root@hf-01 php-fpm.d]# curl -x127.0.0.1:80 test.com/sleep.php -I HTTP/1.1 500 Internal Server Error Server: nginx/1.12.1 Date: Tue, 09 Jan 2018 21:47:48 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive X-Powered-By: PHP/5.6.30 [root@hf-01 php-fpm.d]# 可以查看错误日志,但有更简单的方法就是打开它的配置文件
[root@hf-01 php-fpm.d]# vim /usr/local/php-fpm/etc/php.ini 搜索 /display ,找到display_errors 将display_errors = Off 改为display_errors = On 打开display_errors之后,就可以在浏览器上查看到具体的错误是什么 重启php
[root@hf-01 php-fpm.d]# /etc/init.d/php-fpm reload Reload service php-fpm done [root@hf-01 php-fpm.d]# 检查错误,会看到语法错误,有可能是逗号,分号写的不对
[root@hf-01 php-fpm.d]# curl -x127.0.0.1:80 test.com/sleep.php
Parse error: syntax error, unexpected \'slow\' (T_STRING), expecting \',\' or \';\' in /data/wwwroot/test.com/sleep.php on line 2
[root@hf-01 php-fpm.d]# 检查sleep.php文件,发现里面使用的中文标点,更改后重启配置
[root@hf-01 php-fpm.d]# vim /data/wwwroot/test.com/sleep.php 保存退出 [root@hf-01 php-fpm.d]# /etc/init.d/php-fpm reload Reload service php-fpm done [root@hf-01 php-fpm.d]# 再来测试,访问成功,会看到访问的时候停顿了几秒
[root@hf-01 php-fpm.d]# curl -x127.0.0.1:80 test.com/sleep.php test slow logdone[root@hf-01 php-fpm.d]# 查看是否生成了慢日志
[root@hf-01 php-fpm.d]# cat /usr/local/php-fpm/var/log/www-slow.log [10-Jan-2018 06:02:21] [pool www] pid 3442 script_filename = /data/wwwroot/test.com/sleep.php //提示:是哪个脚本慢 [0x00007f37c5f7c298] sleep() /data/wwwroot/test.com/sleep.php:3 //提示:是脚本的第三慢 [root@hf-01 php-fpm.d]# 这个就是慢执行日志的功效 在遇到php网站访问慢的时候,就可以去查看慢日志 查看www.conf
[root@hf-01 php-fpm.d]# cat www.conf [www] listen = /tmp/php-fcgi.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 request_slowlog_timeout = 1 //一般写两秒,很多脚本都会超过一秒 slowlog = /usr/local/php-fpm/var/log/www-slow.log [root@hf-01 php-fpm.d]#
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流