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

php-fpm的pool

它的pool就是它的池子

[[email protected] etc]# cd /usr/local/php-fpm/etc/
[[email protected] etc]# ls
pear.conf  php-fpm.conf  php-fpm.conf.default  php.ini
[[email protected] 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

设置多个pool

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

[[email protected] etc]# cd /usr/local/php-fpm/etc/
[[email protected] etc]# ls
pear.conf  php-fpm.conf  php-fpm.conf.default  php.ini
[[email protected] etc]# vim php-fpm.conf

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

[[email protected] 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

没有语法错误然后重启

[[email protected] etc]# /etc/init.d/php-fpm reload
Reload service php-fpm  done

然后用ps看一下

[[email protected] etc]# ps aux |grep php-fpm

怎么用两个pool

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

[[email protected] etc]# cd /usr/local/nginx/conf/vhost/
[[email protected] vhost]# ls
aaa.com.conf  ld.conf  proxy.conf  ssl.conf  test.com.conf
[[email protected] vhost]# vim test.com.conf
[[email protected] 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

[[email protected] vhost]# ls
aaa.com.conf  ld.conf  proxy.conf  ssl.conf  test.com.conf
[[email protected] vhost]# vim aaa.com.conf
[[email protected] 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;
    }

}

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

[[email protected] etc]# mkdir php-fpm.d     ##创建php-fpm.d因为include = etc/php-fpm.d/*.conf!
[[email protected] etc]# cd php-fpm.d/       ##进入
[[email protected] 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
[[email protected] 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

查看配置是否有错

[[email protected] 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是一样的**

[[email protected] php-fpm.d]# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm  done

php-fpm慢执行日志

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

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

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

[[email protected] 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

检测和重新加载

[[email protected] 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

[[email protected] php-fpm.d]# /etc/init.d/php-fpm reload
Reload service php-fpm  done

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

[[email protected] php-fpm.d]# ls /usr/local/php-fpm/var/log/www-slow.log       ##已生成
/usr/local/php-fpm/var/log/www-slow.log

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

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

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

open_basedir

编辑配置文件

[[email protected] php-fpm.d]# vim /usr/local/php-fpm/etc/php-fpm.d/www.conf     ##加入以下配置
php_admin_value[open_basedir]=/data/wwwroot/test.com:/tmp/

启动

测试

查看错误日志

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

[[email protected] php-fpm.d]# vim /usr/local/php-fpm/etc/php.ini     


12.24 php-fpm进程管理

原文地址:http://blog.51cto.com/8043410/2161291

时间: 2024-10-25 21:49:11

50次课 php-fpm的(pool、慢执行日志、open_basedir、进程管理)的相关文章

php-fpm的pool、慢执行日志、进程管理、open_basedir

php-fpm的pool 为了避免因多站点使用同一个pool时因一个站点故障导致pool出问题,进而影响使用同一个pool的其他站点的正常运行,要对每个站点配置一个单独的pool. 为php-fpm增加pool 编辑php-fpm配置文件:......[huang.com]listen = /tmp/huang.socklisten.mode = 666user = php-fpmgroup = php-fpmpm = dynamicpm.max_children = 50pm.start_se

2018-3-19 13周1次课 php-fpm的pool、慢日志、进程、open_basedir

12.21 php-fpm的pool php-fpm支持定义多个pool,每个pool可以监听不同的socket或者不同的tcp/ip: 如果nginx有多个不同的站点,那么每个站点都可以使用一个pool: 如果所有网站都使用了同一个pool,当其中给一个php资源不够了,或者其他原因导致502了,网站出问题了,那么所有站点都不能正常使用了: 因此我们有必要把不同的站点隔离开,使用不同pool. 设置多个pool: [[email protected] ~]# vim /usr/local/ph

php-fpm的pool、网站慢执行日志、定义open_basedir、设置php日志、进程管理

php-fpm的pool 编辑php-fpm的配置文件 vim /usr/local/php-fpm/etc/php-fpm.conf 增加 include = etc/php-fpm.d/*.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

php-fpm的pool,php-fpm慢执行日志,open_basedir,php-fpm进程管理

php-fpm的pool 方法1:在大的配置文件里吗统一实现编辑配置文件重新加载配置 方法2:总分的方法,先在大的配置文件里设置一个大的目录,再在这个目录里面增加2个pool1.编辑大的配置文件2.在这个目录里面配置2个小的配置文件重新加载配置,验证pool池 php-fpm慢执行日志 配置文件重新加载 vim /data/wwwroot/test.com/sleep.php//写入如下内容测试访问效果,2秒后才出现结果查看日志结果 php-fpm定义open_basedir 编辑配置文件测试访

51.php-fpm的pool、php-fpm慢执行日志open_basedir、php-fpm进程

一.php-fpm的pool vim /usr/local/php-fpm/etc/php-fpm.conf //在[global]部分增加 include = etc/php-fpm.d/*.conf //类似nginx的vhost mkdir /usr/local/php-fpm/etc/php-fpm.d/ cd /usr/local/php-fpm/etc/php-fpm.d/ vim www.conf //内容如下 [www] listen = /tmp/php-fcgi.sock l

LNMP(php-fpm的pool,慢执行日志,定义open_bashdir,php-fpm进程管理

一.php-fpm的pool(连接池) 我们查看php的进程时,会发现,在最后一个pool的选项,而这个就是我们在php-fpm配置文件里写的一个连接池. [[email protected] ~]# ps aux | grep php-fpm root      2158  0.0  0.4 227148  4952 ?        Ss   15:57   0:00 php-fpm: master process (/usr/local/php-fpm/etc/php-fpm.conf)

12.21 php-fpm的pool;12.22 php-fpm慢执行日志;12.23 ;12.24

12.21 php-fpm的pool 1.添加pool: [[email protected] ~]# vim /usr/local/php-fpm/etc/php-fpm.conf 添加第二个pool: [hao1.com] listen = /tmp/hao1.sock listen.mode = 666 user = php-fpm group = php-fpm pm = dynamic pm.max_children = 50 pm.start_servers = 20 pm.min_

12.21 php-fpm的pool 12.22 php-fpm慢执行日志 12.23 open_b

12.21 php-fpm的pool [[email protected] etc]# vim php-fpm.conf [[email protected] etc]# mkdir php-fpm.d [[email protected] etc]# cd php-fpm.d [[email protected] php-fpm.d]# vim www.conf [[email protected] php-fpm.d]# vim martin.conf [martin] listen = /

LNMP5) php-fpm的pool、慢执行日志、open_basedir、php-fpm进程管理

                 php-fpm的pool (在之前实验中我之定义了一个pool  /usr/loacl/php-fpm/etc/php-fpm.conf ) Nginx中可以定义多个虚拟主机,也可以定义多个pool,每个pool可以监听一个端口,也可以监听一个socket. 因此在Nginx中如果有多个站点,则每个站点可以使用一个pool,这样就可以避免单独的一个站点耗尽php资源导致其他站点也访问有误. 定义多个pool: cd /usr/local/php-fpm/etc/