php-fpm error 慢执行,50次课 php-fpm的(pool、慢执行日志、open_basedir、进程管理)...

php-fpm的pool

7b7045afee44e533741de5e002dbf96a.png

它的pool就是它的池子

[root@100xuni1 etc]# cd /usr/local/php-fpm/etc/

[root@100xuni1 etc]# ls

pear.conf php-fpm.conf php-fpm.conf.default php.ini

[root@100xuni1 etc]# cat php-fpm.conf

[global]

pid = /usr/local/php-fpm/var/run/php-fpm.pid

error_log = /usr/local/php-fpm/var/log/php-fpm.log

[www]

listen = /tmp/php-fcgi.sock

#listen = 127.0.0.1:9000

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

290a6479190886f8e4156a7f31bd2890.png

设置多个pool

*进入/usr/local/php-fpm/etc/下编辑php-fpm.conf

[root@100xuni1 etc]# cd /usr/local/php-fpm/etc/

[root@100xuni1 etc]# ls

pear.conf php-fpm.conf php-fpm.conf.default php.ini

[root@100xuni1 etc]# vim php-fpm.conf

6798c6eb757f64995bac78f4d7231adf.png

以上添加完成后查看是否有语法错误

[root@100xuni1 etc]# /usr/local/php-fpm/sbin/php-fpm -t

[17-Aug-2018 11:03:39] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful

没有语法错误然后重启

[root@100xuni1 etc]# /etc/init.d/php-fpm reload

Reload service php-fpm done

然后用ps看一下

[root@100xuni1 etc]# ps aux |grep php-fpm

6b2578d846c688949ea410c3d5e7da7f.png

怎么用两个pool

进入 /usr/local/nginx/conf/vhost/目录下编辑test.com.conf

[root@100xuni1 etc]# cd /usr/local/nginx/conf/vhost/

[root@100xuni1 vhost]# ls

aaa.com.conf ld.conf proxy.conf ssl.conf test.com.conf

[root@100xuni1 vhost]# vim test.com.conf

[root@100xuni1 vhost]# vim test.com.conf

expires 7d;

valid_referers none blocked server_names *.test.com ;

if ($invalid_referer) {

return 403;

}

access_log off;

}

location ~ .*\.(js|css)$

{

# expires 12h;

access_log off;

}

location /admin/

{

allow 192.168.63.100;

allow 127.0.0.1;

deny all;

}

location ~ .*(upload|image)/.*\.php$

{

deny all;

}

if ($http_user_agent ~* 'Spider/3.0|YoudaoBot|Tomato')

{

return 403;

}

location ~ \.php$

{

include fastcgi_params;

fastcgi_pass unix:/tmp/php-fcgi.sock; ##**这里定义成php-fcgi.sock**

#fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /data/wwwroot/test.com$fastcgi_script_name;

}

access_log /tmp/test.com.log hanshuo;

}

然后再去定义另外一个pool

[root@100xuni1 vhost]# ls

aaa.com.conf ld.conf proxy.conf ssl.conf test.com.conf

[root@100xuni1 vhost]# vim aaa.com.conf

[root@100xuni1 vhost]# vim aaa.com.conf

server

{

listen 80 default_server;

server_name aaa.com;

index index.html index.htm index.php;

root /data/wwwroot/default;

location ~ \.php$ ##添加这里

{

include fastcgi_params;

fastcgi_pass unix:/tmp/han.sock;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /data/wwwroot/default$fastcgi_script_name;

}

}

70fb1b2de56709b7efec2dffe5bd7dba.png

php也支持include进入php-fpm.conf下编辑

7e912acc521193a6c0421a75bb09bac7.png

67ae4b589b3081d4172e6acdef6a5b11.png

[root@100xuni1 etc]# mkdir php-fpm.d ##创建php-fpm.d因为include = etc/php-fpm.d/*.conf!

[root@100xuni1 etc]# cd php-fpm.d/ ##进入

[root@100xuni1 php-fpm.d]# vim www.conf ##编辑

[www] ##写入一下内容

listen = /tmp/php-fcgi.sock

#listen = 127.0.0.1:9000

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

[root@100xuni1 php-fpm.d]# vim han.com ##然后在创建一个目录han.com

[han.com] ##写入内容

listen = /tmp/han.sock

#listen = 127.0.0.1:9000

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

查看配置是否有错

[root@100xuni1 php-fpm.d]# /usr/local/php-fpm/sbin/php-fpm -t

[17-Aug-2018 11:44:58] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful

*重启效果跟以前没有加include = etc/php-fpm.d/.conf是一样的**

[root@100xuni1 php-fpm.d]# /etc/init.d/php-fpm restart

Gracefully shutting down php-fpm . done

Starting php-fpm done

3210919b838cdd0f50ca41e9c3bbec14.png

php-fpm慢执行日志

d159c1aed96ed0eac3e1d12ee21d2efa.png

php-fpm的慢执行日志非常有用lamp是没有的,lnmp有,为什么分析慢执行日志,在运维工作当中经常会遇到一个问题,有人经常反馈网站访问慢了,为什么慢要知道根本原因,慢在什么地方,php网站有办法查他到底慢在哪里,用慢执行日志查看

配置php-fpm慢执行日志比如说针对www.conf

编辑/usr/local/php-fpm/etc/php-fpm.d/下的www.conf,添加一下内容

[root@100xuni1 php-fpm.d]# vim /usr/local/php-fpm/etc/php-fpm.d/www.conf ##加入下边的两行

request_slowlog_timeout = 1

slowlog = /usr/local/php-fpm/var/log/www-slow.log

a19d0c7a5636b26437babb5b12128401.png

检测和重新加载

[root@100xuni1 php-fpm.d]# /usr/local/php-fpm/sbin/php-fpm -t

[17-Aug-2018 13:29:11] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful

[root@100xuni1 php-fpm.d]# /etc/init.d/php-fpm reload

Reload service php-fpm done

查看有没有生成日志文件如果已生成用cat查看日志

[root@100xuni1 php-fpm.d]# ls /usr/local/php-fpm/var/log/www-slow.log ##已生成

/usr/local/php-fpm/var/log/www-slow.log

模拟慢执行日志的php写个脚本

[root@100xuni1 php-fpm.d]# vim /data/wwwroot/test.com/sleep.php 编辑个脚本写入下边的代码

<?php echo “test slow log”;sleep(2);echo “done”;?> ##故意休眠两秒钟

~

~

adbee44171fc2b5e054d749657432930.png

open_basedir

76bcf96b8b2fedaad4c320918b8ddd82.png

编辑配置文件

[root@100xuni1 php-fpm.d]# vim /usr/local/php-fpm/etc/php-fpm.d/www.conf ##加入以下配置

php_admin_value[open_basedir]=/data/wwwroot/test.com:/tmp/

5593368aed7cd95b72c8d355f8174179.png

启动

bf05d24cb0fbed0b85f47a7c57ed1a32.png

测试

40ea7f84b28d041cc45bb4f31b68f0c8.png

查看错误日志

把php-fpm的错误日志定义上

[root@100xuni1 php-fpm.d]# vim /usr/local/php-fpm/etc/php.ini

d9ab10c6ee7fdea12241dfc7d2d4e542.png

31695cd4c2fb44b1c85d79a52ebc2741.png

a4fd83fc4bf1f35369b450ec076dc545.png

d057c08ff901553bc15a1dd3367fd04f.png

9f39a3a72eb188750c8c5f86752b2ab1.png

38ead8d3bcd2f859ae802f2529f8b00d.png

49381235f9dbee8a52c1698b2348220e.png

d517e2aa7928ea6a479e17046baade6e.png

2fe311df5a724a4d8bdfd274469a130e.png

d2a5d2a7d8e114463843f8204b0f78de.png

12.24 php-fpm进程管理

4faa5beb2ed2c58e01e7d1212c2ecb1a.png

7505f04c8c4b3bd146f42f6ddbdb9827.png

bcfbe92f05a693caa64127760480cd5e.png

e2f88d819283cf996624cabf857f7cd2.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值