1. php-fpm的pool

  • 编辑“php-fpm”配置文件“php-fpm.con”
    vim /usr/local/php/etc/php-fpm.conf //在[global]部分增加
    include = etc/php-fpm.d/*.conf # 相当与Nginx的虚拟主机文件 “vhost” 的配置
  • 创建存放“pool”配置文件目录
    mkdir /usr/local/php/etc/php-fpm.d/
    cd /usr/local/php/etc/php-fpm.d/
  • 创建“www” 的pool配置文件
    vim www.conf //内容如下

    [test]
    listen = /tmp/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
  • 继续创建“test2”的pool配置文件
    vim test2.conf //内容如下

    [admin]
    listen = /tmp/test2.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/php/sbin/php-fpm –t
    /etc/init.d/php-fpm restart

2. php-fpm 执行慢日志

  • 编辑“php-fpm”的“pool”文件;
    vim /usr/local/php-fpm/etc/php-fpm.d/test2.conf//添加慢日志记录配置,如:下内容

    request_slowlog_timeout = 1    # 超过1秒的php解析 记录一次慢日志,实际生产环境中 设置2秒
    slowlog = /usr/local/php-fpm/var/log/test2-slow.log  # 慢日志存放路径、名称
  • 测试慢日志是否生效
    • 配置nginx的虚拟主机test2.com.conf,把unix:/tmp/php-fcgi.sock改为unix:/tmp/test2.sock
    • 重新加载nginx服务
    • 创建测试html页面
      vim /data/wwwroot/test2.com/sleep.php//写入如下内容

      <?php
          echo "test slow log";
          sleep(2);
          echo "done";
      ?>

      curl -x127.0.0.1:80 test2.com/sleep.php
      cat /usr/local/php-fpm/var/log/test2-slow.log

3. php-fpm定义open_basedir

  • open_basedir 限制php解析的目录(LAMP 架构中 也可以在 Apache 的配置中设置open_basedir;LNMP 架构直接在php的设置文件中设置)
    vim /usr/local/php-fpm/etc/php-fpm.d/admin.conf//配置文件中加入如下内容
    …… php_admin_value[open_basedir]=/data/wwwroot/test.com:/tmp/ # 这里限制的目录为“/data/wwwroot/test.com”/和“/tmp/”目录 ……
    创建测试php脚本,进行测试
    再次更改test.conf,修改open_basedir路径,再次测试
    配置错误日志、再次测试、查看错误日志

  • php-fpm的错误日志配置
    • 编辑配置文件:vim /opt/php-fpm/etc/php.ini

      ……
      display_errors = Off        ;错误显示“Off 关闭”“On 开启”,开启后会在浏览器中显示错误信息;生产环境不开启
      ……
      error_log = error_log = /opt/php-fpm/var/log/error.log       ;定义日志位置、日志名称
      ……
      error_reporting = E_ALL       ;定义日志级别
      ……
    • 创建错误日志文件,并设置权限777(创建日志文件,设置权限,防止因权限问题导致日志无法记录)
      touch /opt/php-fpm/var/log/error.log
      chmod 777 /opt/php-fpm/var/log/error.log

4. php-fpm 进程管理

  • php-fpm.conf 配置文件的部分参数说明;

    pm = dynamic  //动态进程管理,也可以是static
    pm.max_children = 50 //最大子进程数,ps aux可以查看
    pm.start_servers = 20 //启动服务时会启动的进程数
    pm.min_spare_servers = 5 //定义在空闲时段,子进程数的最少数量,如果达到这个数值时,php-fpm服务会自动派生新的子进程。
    pm.max_spare_servers = 35 //定义在空闲时段,子进程数的最大值,如果高于这个数值就开始清理空闲的子进程。
    pm.max_requests = 500  //定义一个子进程最多处理的请求数,也就是说在一个php-fpm的子进程最多可以处理这么多请求,当达到这个数值时,它会自动退出。

PHP 相关配置的更多相关文章

  1. zookeeper集群的搭建以及hadoop ha的相关配置

    1.环境 centos7 hadoop2.6.5 zookeeper3.4.9 jdk1.8 master作为active主机,data1作为standby备用机,三台机器均作为数据节点,yarn资源 ...

  2. Linux网络相关配置

    一.修改网卡相关配置 Linux网络参数是在/etc/sysconfig/network-scripts/ifcfg-eth0中设置,其中ifcfg-eth0表示是第一个网卡,如果还有另外一块网卡,则 ...

  3. ios开发之Info.plist文件相关配置

    前言:在iOS开发中有些情况下需要对Info.plist文件进行配置,以下介绍几种相关配置.以后遇到需要配置的再更新... 开发环境:swift3.0.1,Xcode8.1 一,项目中需要使用第三方字 ...

  4. SharePoint 2013 托管导航及相关配置 <二>

    本文的思路是使用JQuery重写SharePoint自带托管导航的样式,其实思路和脚本都非常简单,引用一下JQuery脚本,然后重写导航的样式,把脚本放到母版页中,即可.当然,使用JQuery可以做很 ...

  5. IO 相关配置参数

    INNODB I/O相关配置 记录日志为顺序I/O,刷新日志到数据文件为随机操作.顺序操作性能快于随机IO. innodb_log_file_size innodb_log_files_in_grou ...

  6. win7下IIS错误:"无法访问请求的页面,因为该页的相关配置数据无效"的解决方法(转)

    今天新装win7,然后在IIS下布署了一个网站,布署完成后运行,提示如下错误:HTTP 错误 500.19 - Internal Server Error无法访问请求的页面,因为该页的相关配置数据无效 ...

  7. IDEA 从SVN检出项目相关配置

    1.新建好一个工程,然后通过SVN检出项目 2.检出后一般tomcat的环境是配置好的,点击上方Project Structure按钮,弹出窗体,查看Project项,一般没问题,如果要配置就配置Pr ...

  8. HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效。

    HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效. 详细错误信息模块 IIS Web Core 通知 BeginReques ...

  9. "HTTP 错误 500.19 请求的页面的相关配置数据无效" 解决办法

    HTTP 错误 500.19 - Internal Server Error无法访问请求的页面,因为该页的相关配置数据无效. 问题"详细错误信息模块 IIS Web Core通知 Begin ...

  10. windows下 apache 二级域名相关配置

    小编今天给大家总结下 windows 下 apache的二级域名的相关配置 利用.htaccess将域名绑定到子目录 下面就利用本地127.0.0.1进行测试 我们这里以 www.jobs.com 为 ...

随机推荐

  1. HDU 4585 Shaolin(STL map)

    Shaolin Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit cid= ...

  2. poj-2758 Checking the Text

    题意: 给定一个字符串,要求维护两种操作: I:在字符串中插入一个字符: Q:询问某两个位置開始的LCP. 插入操作<=200,字符串长度<=5w,查询操作<=2w: 题解: 第一道 ...

  3. programming-challenges Shoemaker&#39;s Problem (110405) 题解

    Greedy. 证明: Let's say we have job 1, 2, ..., n, and they have time and fine as t1, f1, t2, f2, ..., ...

  4. 迷宫求解_数据结构c语言版

    #include <iostream> #include <string> #include <cstdio> #include <cstdlib> # ...

  5. LINUX 代码运行时间计算

    clock_gettime比gettimeofday更加精确简单做了一下测试 #include<time.h>#include<stdio.h> #define MILLION ...

  6. kindeditor 不能编辑 问题

    /*显示上传窗体*/ function ShowUplodToDaily() { var _sdata = grid.getSelecteds(); if (_sdata) { /*创建编辑器*/ v ...

  7. Matlab函数编译成dll供c调用

    一 编译dll 在Command Window窗口中输入mbuild -setup,然后会出现语句,是否安装编译器,选择n,因为机子上已经安装了C/C++/C#的编译器,选择VS2010.

  8. 三分钟学会用SpringMVC搭建最小系统(超详细)_转载

    前言 做 Java Web 开发的你,一定听说过SpringMVC的大名,作为现在运用最广泛的Java框架,它到目前为止依然保持着强大的活力和广泛的用户群. 本文介绍如何用eclipse一步一步搭建S ...

  9. E. Reachability from the Capital(tarjan+dfs)

    求联通分量个数,在dfs一次 #include <iostream> #include <algorithm> #include <cstring> #includ ...

  10. Spring AOP 实现数据库读写分离

    背景 我们一般应用对数据库而言都是"读多写少",也就说对数据库读取数据的压力比较大,有一个思路就是说采用数据库集群的方案, 其中一个是主库,负责写入数据,我们称之为:写库: 其它都 ...