重写配置文件
1、清空php配置文件
命令:> /usr/local/php/etc/php-fpm.conf
2、重新写入php-fpm配置
命令:vim /usr/local/php/etc/php-fpm.conf
# 全局配置
[global]
# PID、可以不填
pid = /usr/local/php/var/run/php-fpm.pid
# 错误日志路径、可以不填
error_log = /usr/local/php/var/log/php-fpm.log
# www虚拟主机配置、可写多个 # pool命名:www
[www]
# 监听socket方式
# 可以写成listen = 127.0.0.1:9000
listen = /tmp/php-fcgi.sock
# 开启php-fpm的执行用户
user = php-fpm
# 开启php-fpm的所属组
group = php-fpm
# 监听listen的用户,和后面的nginx的一致
listen.owner = nobody
# 监听listen的组,和后面的nginx的一致
listen.group = nobody
# 怎样的形式启用进程
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

配置文件

3、测试配置文件
# 测试配置文件
/usr/local/php/sbin/php-fpm -t 测试成功:
[30-Jan-2018 23:43:32] NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful

4、重启动php-fpm

命令:/etc/init.d/php-fpm start
5、查看启动状况
ps -aux | grep php-fpm

root      1530  0.0  0.5  32036  2928 ?        Ss   23:45   0:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
php-fpm 1531 0.0 0.4 32036 2512 ? S 23:45 0:00 php-fpm: pool www
php-fpm 1532 0.0 0.4 32036 2512 ? S 23:45 0:00 php-fpm: pool www
php-fpm 1533 0.0 0.4 32036 2512 ? S 23:45 0:00 php-fpm: pool www
php-fpm 1534 0.0 0.4 32036 2512 ? S 23:45 0:00 php-fpm: pool www

查看启动进程

ls -l /tmp/php-fcgi.sock 

srw-rw-rw-. 1 nobody nobody 0 1月  30 23:45 /tmp/php-fcgi.sock

注:权限都需要有读写,nginx才可以访问到socket。

查看监听是否为nobody用户

ps aux | grep nginx
root 1606 0.0 0.1 5352 640 ? Ss 02:46 0:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody 1607 0.0 0.3 6164 1568 ? S 02:46 0:00 nginx: worker process
root 1609 0.0 0.1 5980 744 pts/0 S+ 02:46 0:00 grep nginx

查看nginx是否调用了nobody


设置多个pool

需求:置两个pool,www1,www2
注:pool对应一个nginx的站点,这样可以提高安全,如同站点切割。
 
1、主配置文件下配置两个pool。
# 全局配置
[global]
# PID、可以不填
pid = /usr/local/php/var/run/php-fpm.pid
# 错误日志路径、可以不填
error_log = /usr/local/php/var/log/php-fpm.log # www虚拟主机配置、可写多个
[www1]
# 监听socket方式 可以写成127.0.0.1:9000 TCP的。
listen = /tmp/php-fcgi1.sock
# 开启php-fpm的执行用户
user = php-fpm
# 开启php-fpm的所属组
group = php-fpm
# 监听listen的用户,和后面的nginx的一致
listen.owner = nobody
# 监听listen的组,和后面的nginx的一致
listen.group = nobody
# 怎样的形式启用进程、static static静态、pm dynamic动态
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
# 定义慢日志
slowlog = /tmp/xxx_slow.log
# 处理延迟多少秒记录一次慢日志
request_slowlog_timeout = 1
# 配置隔离网站
php_admin_value[open_basedir]=/usr/local/url1:/usr/local/url2 # www虚拟主机配置、可写多个
[www2]
# 监听socket方式 可以写成127.0.0.1:9000 TCP的。
listen = /tmp/php-fcgi2.sock
# 开启php-fpm的执行用户
user = test
# 怎样的形式启用进程、static static静态、pm dynamic动态
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
# 定义慢日志
slowlog = /tmp/xxx2_slow.log
# 处理延迟多少秒记录一次慢日志
request_slowlog_timeout = 1
# 配置隔离网站
php_admin_value[open_basedir]=/usr/local/url1:/usr/local/url2

配置文件

2、查看两个pool的启动进程

ps -aux | grep php-rpm

root      2486  0.4  0.6  32240  3136 ?        Ss   09:31   0:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
php-fpm 2487 0.0 0.4 32036 2532 ? S 09:31 0:00 php-fpm: pool www1
php-fpm 2488 0.0 0.4 32036 2532 ? S 09:31 0:00 php-fpm: pool www1
php-fpm 2489 0.0 0.4 32036 2532 ? S 09:31 0:00 php-fpm: pool www1
php-fpm 2490 0.0 0.4 32036 2532 ? S 09:31 0:00 php-fpm: pool www1
php-fpm 2491 0.0 0.4 32036 2532 ? S 09:31 0:00 php-fpm: pool www1
php-fpm 2492 0.0 0.4 32036 2532 ? S 09:31 0:00 php-fpm: pool www1
test 2507 0.0 0.4 32036 2536 ? S 09:31 0:00 php-fpm: pool www2
test 2508 0.0 0.4 32036 2536 ? S 09:31 0:00 php-fpm: pool www2
test 2509 0.0 0.4 32036 2536 ? S 09:31 0:00 php-fpm: pool www2
test 2510 0.0 0.4 32036 2536 ? S 09:31 0:00 php-fpm: pool www2
test 2511 0.0 0.4 32036 2536 ? S 09:31 0:00 php-fpm: pool www2
test 2512 0.0 0.4 32036 2536 ? S 09:31 0:00 php-fpm: pool www2

查看进程

PHP-FPM 设置多pool、配置文件重写的更多相关文章

  1. Nginx 配置文件重写

    nginx主配置文件 1.清空过Nginx配置文件,修改: vim /usr/local/nginx/conf/nginx.conf # 以那个账户,账户组来运行nginx user nobody n ...

  2. 为每一个应用程序池单独设置aspnet.config配置文件

    ASP.NET2.0之后的版本号就在各Framework的根文件夹下提供了一个aspnet.config文件.这个文件用来配置全局的一些信息,可是一直以来我们都没有怎么用过. ASP.NET4.0之后 ...

  3. SpringBoot多环境部署,在启动时动态设置相应的配置文件

    项目中,往往在测试环境和正式环境拥有不同的配置,例如数据库连接,第三方库的appkey等.这时候,我们就要在不同的环境启用不同的配置 下面新建三个文件,分别表示开发环境,生产环境和测试环境的配置文件 ...

  4. 【Spring Boot】Spring Boot项目设置多个配置文件,并在生产环境中的Tomcat设置对应的配置文件

    1.修改Spring Boot项目配置文件 除了主配置文件,另外创建2个配置文件,注意命名要用application-*.properties 主配置文件中写入,使用dev作为开发配置 spring. ...

  5. 【设置】Nginx配置文件具体配置解释

    #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_processes 8; #全局错误日志定义类型,[ debug | ...

  6. WPF 分享一种设置程序保存配置文件的方法

    最近需要做一个配置程序,主要给其他程序做相关配置的小工具. 配置项蛮多的,一般我们都是将各个配置项写到配置文件的节点中,比如App.config文件或者自定义的xml文件. 因为我用的是wpf,MVV ...

  7. 读取、设置 php.ini配置文件(复制)

    1.ini_get()获取配置参数,ini_set()设置配置参数 复制代码 代码如下: <?phpecho ini_get('display_errors'); //1//动态修改php.in ...

  8. SpringBoot中打包设置,将配置文件打包在外部

    一.每次用maven的打包工具打包的时候 总是将配置文件一起打包进jar中!配置文件有点小修改就要重新打包很麻烦!!!!为了解决这一麻烦!找 了很多方法,下面的配置已经实现可用 我的项目目录结构如下 ...

  9. nginx配置文件重写url不带index.php

    如题: 代码 location / { root /项目目录/; index index.php; if (-f $request_filename/index.php){ rewrite (.*) ...

随机推荐

  1. Ubuntu14.4下安装FTP

    今天学习了Ubuntu上安装ftp的实例. 1.window上已经安装wamp(windows + apache + mysql + php) 2.window上已安装VMware Workstati ...

  2. Vimium、CrxMouse配置信息

    每次使用别的地方的Chrome的时候,虽然Vimium插件能同步过来,但是配置信息不在,所以先记录在整理以备不时之需. 这个是Vimium的配置信息,然后我还会把搜索引擎改为http://www.ba ...

  3. Oracle菜鸟之怎样创建和删除表空间

    1.创建暂时表空间 创建表空间时,dbf文件一般存放在datafile文件的存放文件夹下(通常是在实例名命名的文件夹以下) 能够通过 select * from v$datafile;查看全部数据文件 ...

  4. Qt 配置文件QSettings读取以及中文问题

    QSettings settings("xxxx.ini",QSettings::IniFormat);settings.setIniCodec(QTextCodec::codec ...

  5. 73、ImageView 让图片填充满

    在xml里的ImageView中设置   android:scaleType="fitXY"属性,这个属性是让图片填充满, 当然你可以去查一下这个scaleType的其他属性,你要 ...

  6. mongodb在32位机的连接

    Windows 32bit版本安装Mongodb时,会发生的下面问题 2016-05-09T00:09:45.124+0800 I STORAGE  [initandlisten] exception ...

  7. [USACO5.5]隐藏口令Hidden Password

    题目链接:传送门 题目大意:给你一个长度 N 的字符串,5<=N<=5,000,000,将首尾合并成环,断环成链并满足字典序最小,输出此时首字母在原串中的位置-1: 题目思路:最小表示法 ...

  8. CKEDITOR 4.6.X 版本 插件 弹出对话框 Dialog中 表格 Table 自定义样式Style 问题

    项目开发过程中,发现CKEDITOR 插件的弹出框 内 如果跟据项目需要写表格(table tr td),表格的边框等属性会被 CKEDITOR的清除或覆盖,导致表格很难看. 问题关键: 插件弹出框d ...

  9. apache (web服务器) ->php->mysql,xampp与wamp比较,WAMP与WNMP有什么区别

    wamp环境 1.W:windows 2.A:APACHE 3.M:mysql 4. p:php wnmp环境 1.W:windows 2.A:APACHE 3.n nginx 4. p:php WA ...

  10. iOS论App推送方案

    1.APNS介绍(原生推送实现原理) 在iOS平台上,大部分应用是不允许在后台运行并连接网络的.在应用没有被运行的时候,只能通过 Apple Push Notification Service (AP ...