重写配置文件
1、清空php配置文件
命令:> /usr/local/php/etc/php-fpm.conf
2、重新写入php-fpm配置
命令:vim /usr/local/php/etc/php-fpm.conf
  1. # 全局配置
  2. [global]
  3. # PID、可以不填
  4. pid = /usr/local/php/var/run/php-fpm.pid
  5. # 错误日志路径、可以不填
  6. error_log = /usr/local/php/var/log/php-fpm.log
  7. # www虚拟主机配置、可写多个
  8.  
  9. # pool命名:www
  10. [www]
  11. # 监听socket方式
  12. # 可以写成listen = 127.0.0.1:9000
  13. listen = /tmp/php-fcgi.sock
  14. # 开启php-fpm的执行用户
  15. user = php-fpm
  16. # 开启php-fpm的所属组
  17. group = php-fpm
  18. # 监听listen的用户,和后面的nginx的一致
  19. listen.owner = nobody
  20. # 监听listen的组,和后面的nginx的一致
  21. listen.group = nobody
  22. # 怎样的形式启用进程
  23. pm = dynamic
  24. # 最大开启子进程数
  25. pm.max_children = 50
  26. # 一开始启动多少子进程
  27. pm.start_servers = 20
  28. # 空闲时保留多少个子进程
  29. pm.min_spare_servers = 5
  30. # 最多空闲子进程
  31. pm.max_spare_servers = 35
  32. # 进程处理多少个请求之后销毁重建
  33. pm.max_requests = 500
  34. # 限定打开最大的文件数
  35. rlimit_files = 1024

配置文件

3、测试配置文件
  1. # 测试配置文件
  2. /usr/local/php/sbin/php-fpm -t
  3.  
  4. 测试成功:
  5. [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、查看启动状况
  1. ps -aux | grep php-fpm
  2.  
  3. root 1530 0.0 0.5 32036 2928 ? Ss 23:45 0:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
  4. php-fpm 1531 0.0 0.4 32036 2512 ? S 23:45 0:00 php-fpm: pool www
  5. php-fpm 1532 0.0 0.4 32036 2512 ? S 23:45 0:00 php-fpm: pool www
  6. php-fpm 1533 0.0 0.4 32036 2512 ? S 23:45 0:00 php-fpm: pool www
  7. php-fpm 1534 0.0 0.4 32036 2512 ? S 23:45 0:00 php-fpm: pool www

查看启动进程

  1. ls -l /tmp/php-fcgi.sock
  2.  
  3. srw-rw-rw-. 1 nobody nobody 0 1 30 23:45 /tmp/php-fcgi.sock
  4.  
  5. 注:权限都需要有读写,nginx才可以访问到socket

查看监听是否为nobody用户

  1. ps aux | grep nginx
  2. root 1606 0.0 0.1 5352 640 ? Ss 02:46 0:00 nginx: master process /usr/local/nginx/sbin/nginx
  3. nobody 1607 0.0 0.3 6164 1568 ? S 02:46 0:00 nginx: worker process
  4. 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。
  1. # 全局配置
  2. [global]
  3. # PID、可以不填
  4. pid = /usr/local/php/var/run/php-fpm.pid
  5. # 错误日志路径、可以不填
  6. error_log = /usr/local/php/var/log/php-fpm.log
  7.  
  8. # www虚拟主机配置、可写多个
  9. [www1]
  10. # 监听socket方式 可以写成127.0.0.1:9000 TCP的。
  11. listen = /tmp/php-fcgi1.sock
  12. # 开启php-fpm的执行用户
  13. user = php-fpm
  14. # 开启php-fpm的所属组
  15. group = php-fpm
  16. # 监听listen的用户,和后面的nginx的一致
  17. listen.owner = nobody
  18. # 监听listen的组,和后面的nginx的一致
  19. listen.group = nobody
  20. # 怎样的形式启用进程、static static静态、pm dynamic动态
  21. pm = dynamic
  22. # 最大开启子进程数
  23. pm.max_children = 50
  24. # 一开始启动多少子进程
  25. pm.start_servers = 20
  26. # 空闲时保留多少个子进程
  27. pm.min_spare_servers = 5
  28. # 最多空闲子进程
  29. pm.max_spare_servers = 35
  30. # 进程处理多少个请求之后销毁重建
  31. pm.max_requests = 500
  32. # 限定打开最大的文件数
  33. rlimit_files = 1024
  34. # 定义慢日志
  35. slowlog = /tmp/xxx_slow.log
  36. # 处理延迟多少秒记录一次慢日志
  37. request_slowlog_timeout = 1
  38. # 配置隔离网站
  39. php_admin_value[open_basedir]=/usr/local/url1:/usr/local/url2
  40.  
  41. # www虚拟主机配置、可写多个
  42. [www2]
  43. # 监听socket方式 可以写成127.0.0.1:9000 TCP的。
  44. listen = /tmp/php-fcgi2.sock
  45. # 开启php-fpm的执行用户
  46. user = test
  47. # 怎样的形式启用进程、static static静态、pm dynamic动态
  48. pm = dynamic
  49. # 最大开启子进程数
  50. pm.max_children = 50
  51. # 一开始启动多少子进程
  52. pm.start_servers = 20
  53. # 空闲时保留多少个子进程
  54. pm.min_spare_servers = 5
  55. # 最多空闲子进程
  56. pm.max_spare_servers = 35
  57. # 进程处理多少个请求之后销毁重建
  58. pm.max_requests = 500
  59. # 限定打开最大的文件数
  60. rlimit_files = 1024
  61. # 定义慢日志
  62. slowlog = /tmp/xxx2_slow.log
  63. # 处理延迟多少秒记录一次慢日志
  64. request_slowlog_timeout = 1
  65. # 配置隔离网站
  66. php_admin_value[open_basedir]=/usr/local/url1:/usr/local/url2

配置文件

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

  1. ps -aux | grep php-rpm
  2.  
  3. root 2486 0.4 0.6 32240 3136 ? Ss 09:31 0:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
  4. php-fpm 2487 0.0 0.4 32036 2532 ? S 09:31 0:00 php-fpm: pool www1
  5. php-fpm 2488 0.0 0.4 32036 2532 ? S 09:31 0:00 php-fpm: pool www1
  6. php-fpm 2489 0.0 0.4 32036 2532 ? S 09:31 0:00 php-fpm: pool www1
  7. php-fpm 2490 0.0 0.4 32036 2532 ? S 09:31 0:00 php-fpm: pool www1
  8. php-fpm 2491 0.0 0.4 32036 2532 ? S 09:31 0:00 php-fpm: pool www1
  9. php-fpm 2492 0.0 0.4 32036 2532 ? S 09:31 0:00 php-fpm: pool www1
  10. test 2507 0.0 0.4 32036 2536 ? S 09:31 0:00 php-fpm: pool www2
  11. test 2508 0.0 0.4 32036 2536 ? S 09:31 0:00 php-fpm: pool www2
  12. test 2509 0.0 0.4 32036 2536 ? S 09:31 0:00 php-fpm: pool www2
  13. test 2510 0.0 0.4 32036 2536 ? S 09:31 0:00 php-fpm: pool www2
  14. test 2511 0.0 0.4 32036 2536 ? S 09:31 0:00 php-fpm: pool www2
  15. 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. hdu 2117:Just a Numble(水题,模拟除法运算)

    Just a Numble Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tot ...

  2. Eclipse中的build path详解

    http://blog.csdn.net/qqqqqq654/article/details/53043742

  3. Android之怎样强制横竖屏显示

    2  强制横屏竖屏显示(不依据手机传感器调整) 在清单文件AndroidManifest.xml中 在<activity 里面增加: android:screenOrientation=&quo ...

  4. centos使用pypy

    pypy最大的特点是使用了jit,可以直接使用机器码而非字节码,大大的提高了效率 ======================== 安装步骤 1.安装pypy yum install pypy* -y ...

  5. 面试题思考:什么是基于注解的切面实现?(AOP是Aspect Oriented Program的首字母缩写)

    首先解释下AOP :在程序运行时,动态的将代码切入到类的指定方法.指定位置上的编程思想就是面向切面编程 一般而言,我们管切入到指定类指定方法的代码片段为切面,而切入的哪些类.哪些方法则叫切入点.有了A ...

  6. Android中流式布局和热门标签

    1.流式布局特点.应用场景.2.自定义ViewGroup (1)onMeasure:测量子View的宽和高,设置自己的宽和高. (2)onLayout:设置子View的位置. onMeasure:根据 ...

  7. Delphi数据库处理

    Delphi数据库处理 第一节 BDE.ADO.InterBase和dbExpress Delphi中处理数据库主要有两种方法,也就是BDE.ADO,从Delphi 6.0开始还加入了一种dbExpr ...

  8. hdu 4576(简单概率dp | 矩阵优化)

    艰难的一道题,体现出菜菜的我... 首先,先吐槽下. 这题到底出题人是怎么想的,用普通概率dp水过??? 那为什么我概率dp写的稍微烂点就一直tle?  感觉很不公平.大家算法都一致,因为我程序没有那 ...

  9. 将json转为 SortedDictionary

     #region ConvertJsonToSortedDictionary 将json转为 SortedDictionary        /// <summary>        // ...

  10. Oracle Instant Client的安装和使用

    转自:https://www.cnblogs.com/chinalantian/archive/2011/09/09/2172145.html 根据自己需求到Oracle网站(http://www.o ...