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. php函数in_array奇怪现象

    $k = 0; $fieldArr = array('tt', 'bb'); if ( in_array( $k, $fieldArr)) { echo '1'; } 按理来说,是不会输出1的,可是最 ...

  2. STL_算法_查找算法(binary_search、includes)

    C++ Primer 学习中.. . 简单记录下我的学习过程 (代码为主) 全部容器适用(O(log(n)))     已序区间查找算法 binary_search             //二分查 ...

  3. UVa 10954 Add All 贪心

    贪心   每一次取最小的两个数,注意相加的数也要算' #include<cstring> #include<iostream> #include<cstdio> # ...

  4. hdoj--2098--分拆素数和(水题)

    分拆素数和 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  5. Car Talk2

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

  6. 如何启动和关闭MySQL?(四)

    分为: 图形化 命令行 方法一:在“计算机”的图标上右键,然后选择“管理”,双击“服务和应用程序”,然后选择“服务”,找到“MySQL”这个服务,然后点击“右键”,就可以进行“停止”和“重新启动”的操 ...

  7. CMake入门之创建一个基于PCL的最小工程

    最近在学习PCL,借助Cmake可省去繁琐的添加包含目录和依赖库操作. 一个典型的CMakeLists.txt内容通常为: cmake_minimum_required(VERSION 2.6 FAT ...

  8. ubuntu配置上网

    一.通过修改配置文件配置: 编辑配置文件: #sudo vim /etc/network/interfaces   auto ens33       #没有这句网卡不能启动 iface ens33 i ...

  9. Java获取电脑硬件信息

    package com.szht.gpy.util; import java.applet.Applet; import java.awt.Graphics; import java.io.Buffe ...

  10. 高手过愚人节 Manancher模板题_双倍经验

    Code: #include <cstdio> #include <algorithm> #include <cstring> #define setIO(s) f ...