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. Mock+Proxy在SDK项目的自己主动化測试实战

    项目背景 广告SDK项目是为应用程序APP开发者提供移动广告平台接入的API程序集合,其形态就是一个植入宿主APP的jar包.提供的功能主要有以下几点: - 为APP请求广告内容 - 用户行为打点 - ...

  2. Irrlicht 3D Engine 笔记系列 之 教程6- 2D Graphics

    作者:i_dovelemon 日期:2015 / 7 / 1 来源: CSDN 主题:2D Graphics, Irrlicht 教程翻译 本篇教程将要向大家展示怎样使用Irrlicht引擎绘制2D图 ...

  3. ios 将随意对象存进数据库

    要将一个对象存进数据库的blob字段,最好先转为NSData.一个对象要遵守NSCoding协议,实现协议中对应的方法,才干转成NSData. NSData *statusData = [NSKeye ...

  4. 使用MyEclipse编写Java程序

    MyEclipse是非常实用的一款Java程序开发工具,主要用于Java.Java EE以及移动应用的开发.MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持相当不错. My ...

  5. Eval函数知识总结

    说道Json,我们先来聊聊eval 一.eval是什么?(解析器) eval是一个函数,看本质function  eval() { [native code] } 二.怎样使用eval? 语法:str ...

  6. Car Talk2

    #! /usr/bin/python # -*- coding: utf-8 -*- # # # “Recently I had a visit with my mom and we realized ...

  7. Adobe Photoshop CC 2015(PS CC 2015)看图不说话

  8. 存储过程的调用和Parameters数组的调用

    记录一些杂记吧 declare @d datetime set @d=GETDATE() select * from [ACC_B2B].[dbo].ORDER_Head --where 1=1 se ...

  9. Nordic Collegiate Programming Contest 2015​(第七场)

    A:Adjoin the Networks One day your boss explains to you that he has a bunch of computer networks tha ...

  10. UI Framework-1: Aura Event Handling

    Event Handling A diagram of the architecture of this system:     HWNDMessageHandler owns the WNDPROC ...