侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

PHP-FPM 设置多pool及配置文件重写操作示例

2022-06-24 星期五 / 0 评论 / 0 点赞 / 54 阅读 / 6957 字

本文实例讲述了PHP-FPM 设置多pool及配置文件重写操作。分享给大家供大家参考,具体如下:重写配置文件1、清空php配置文件命令:> /usr/local/php/etc/php-fpm.conf2、重新写入php

本文实例讲述了PHP-FPM 设置多pool及配置文件重写操作。分享给大家供大家参考,具体如下:

重写配置文件

1、清空php配置文件

命令:> /usr/local/php/etc/php-fpm.conf

2、重新写入php-fpm配置

命令:vim /usr/local/php/etc/php-fpm.con

配置文件

.
# 全局配置[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:9000listen = /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-fpmroot   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 wwwphp-fpm  1532 0.0 0.4 32036 2512 ?    S  23:45  0:00 php-fpm: pool wwwphp-fpm  1533 0.0 0.4 32036 2512 ?    S  23:45  0:00 php-fpm: pool wwwphp-fpm  1534 0.0 0.4 32036 2512 ?    S  23:45  0:00 php-fpm: pool www
.

查看监听是否为nobody用户

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

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

查看nginx是否调用了nobody

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

设置多个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-rpmroot   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 www1php-fpm  2488 0.0 0.4 32036 2532 ?    S  09:31  0:00 php-fpm: pool www1php-fpm  2489 0.0 0.4 32036 2532 ?    S  09:31  0:00 php-fpm: pool www1php-fpm  2490 0.0 0.4 32036 2532 ?    S  09:31  0:00 php-fpm: pool www1php-fpm  2491 0.0 0.4 32036 2532 ?    S  09:31  0:00 php-fpm: pool www1php-fpm  2492 0.0 0.4 32036 2532 ?    S  09:31  0:00 php-fpm: pool www1test   2507 0.0 0.4 32036 2536 ?    S  09:31  0:00 php-fpm: pool www2test   2508 0.0 0.4 32036 2536 ?    S  09:31  0:00 php-fpm: pool www2test   2509 0.0 0.4 32036 2536 ?    S  09:31  0:00 php-fpm: pool www2test   2510 0.0 0.4 32036 2536 ?    S  09:31  0:00 php-fpm: pool www2test   2511 0.0 0.4 32036 2536 ?    S  09:31  0:00 php-fpm: pool www2test   2512 0.0 0.4 32036 2536 ?    S  09:31  0:00 php-fpm: pool www2
.

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP进程与线程操作技巧总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

广告 广告

评论区