zoukankan      html  css  js  c++  java
  • php-fpm的pool池子、php慢日志记录、open_basedir、php-fpm进程管理

    1、php-fpm的poo池子:
    目的:可以让不同的网站,对于不同的php解析,可以把不同的网站解析区分开。
    编辑:vim /usr/local/php5-fpm/etc/php-fpm.conf
    加入:

    [test]
    listen = /tmp/php-test.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
    语法检查:/usr/local/php5-fpm/sbin/php-fpm -t
    重新加载php-fpm:/etc/init.d/php-fpm reload
    查看:ps -aux | grep php-fpm


    查看:

    在配制nginx虚拟主机的时候就可以对应着改了,比如在server里面加入以下代码:

    location ~ .php$
    {
    #把php整合
    include fastcgi_params;
    fastcgi_pass unix:/tmp/php-test.sock;
    #fastcgi_pass 127.0.0.1:8080;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /var/www/test.com$fastcgi_script_name;
    }

    再重新加载nginx之后,解析就会分开了。

    这样子,就可以配制网站不同的php解析了,但还可以进行优化,修改成如下:
    修改:/usr/local/php5-fpm/etc/php-fpm.conf
    改成:

    [global]
    pid = /usr/local/php5-fpm/var/run/php-fpm.pid
    error_log = /usr/local/php5-fpm/var/log/php-fpm.log
    include=/usr/local/php5-fpm/etc/vconf/*
    在/usr/local/php5-fpm/etc/下创建vconf目录:mkdir /usr/local/php5-fpm/etc/vconf/  
    在创建对应虚拟机的配制文件:vim  /usr/local/php5-fpm/etc/vconf/test.conf 并加入相关代码:

    [name_xxxx]  #对应的解析池名可以自己随便取
    listen = /tmp/vconf.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
    检查语法:/usr/local/php5-fpm/sbin/php-fpm -t
    然后重新加载:/etc/init.d/php-fpm reload


    查看:

    以后,就可以在vconf下设置,不同虚拟机的php解析池了。

    2、php慢日志记录

    目的:为了找出网站慢的原因
    编辑访问慢的主机的配制文件:vim /usr/local/php5-fpm/etc/vconf/test.conf
    追加:

    request_slowlog_timeout = 1  #这里默认一般设置为2秒
    slowlog = /usr/local/php5-fpm/var/log/test-slow.log
    检查语法:/usr/local/php5-fpm/sbin/php-fpm -t
    然后重新加载:/etc/init.d/php-fpm reload

    写一个php文件,加入以下代码进行测试:

    <?php
    echo "vconf_test..com _php; test slow log";sleep(2);
    ?> 

    然后进行访问:

    到此慢日志记录配制完成。

     

    3、open_basedir 目录权限访问控制
    目的:设置目录权限访问控制
    编辑:vim /usr/local/php5-fpm/etc/vconf/test.conf
    追加:php_admin_value[open_basedir]=/var/www/test.com:/tmp/  #这里表示,允许访问的权限只有/var/www/test.com 和 /tmp/目录
    (可以这样子理解,即php模块进行解析时,只能运行在这2个目录下)
                     

    检查语法:/usr/local/php5-fpm/sbin/php-fpm -t
    然后重新加载:/etc/init.d/php-fpm reload
    若把/usr/local/nginx/conf/vhost/test.com.conf 的root 目录改为/var/www/222目录,尝试访问:

    然后,我们进行测试:

    总结:
    php解析模块里面的配制文件

    (/usr/local/php5-fpm/etc/vconf/test.conf )文件的 解析目录(php_admin_value[open_basedir]=/var/www/test.com:/tmp/ )的权限 限定,和
    nginx配制文件
    (/usr/local/nginx/conf/vhost/test.com.conf)中的php整合模块(fastcgi_param SCRIPT_FILENAME /var/www/test.com$fastcgi_script_name;)
    的php文件存放的路径要一样。若不一样,访问php文件时,则会显示:No input file specified.(即找不到指定文件)

     若nginx配制文件
    (/usr/local/nginx/conf/vhost/test.com.conf)中的root /var/www/test.com;和fastcgi_param SCRIPT_FILENAME /var/www/test.com$fastcgi_script_name;
    的路径不一样的话,那么访问php文件时,就显示File not found(即找不到文件)。 

     

    4、php-fpm进程管理
    编辑:vim /usr/local/php5-fpm/etc/vconf/test.conf 文件,对其配制,根据自己机器的实际情况进行配制。

    [vconf]
    listen = /tmp/vconf.sock
    listen.mode=666
    user = php-fpm
    group = php-fpm
    pm = dynamic
    ;pm =static
    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/php5-fpm/var/log/test-slow.log

    php_admin_value[open_basedir]=/var/www/test.com/:/tmp/


     到此 lnmp 相关学习完闭。

  • 相关阅读:
    spring cloud 和 阿里微服务spring cloud Alibaba
    为WPF中的ContentControl设置背景色
    java RSA 解密
    java OA系统 自定义表单 流程审批 电子印章 手写文字识别 电子签名 即时通讯
    Hystrix 配置参数全解析
    spring cloud 2020 gateway 报错503
    Spring Boot 配置 Quartz 定时任务
    Mybatis 整合 ehcache缓存
    Springboot 整合阿里数据库连接池 druid
    java OA系统 自定义表单 流程审批 电子印章 手写文字识别 电子签名 即时通讯
  • 原文地址:https://www.cnblogs.com/dongjieyuan/p/9215857.html
Copyright © 2011-2022 走看看