当前位置:首页 > PHP教程 > php应用 > 列表

PHP-FPM是什么?PHP-FPM管理和配置的介绍

发布:smiling 来源: PHP粉丝网  添加日期:2019-12-30 17:08:35 浏览: 评论:0 

本篇文章给大家带来的内容是关于PHP-FPM是什么?PHP-FPM管理和配置的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

PHP-FPM 是什么?

PHP-FPM 是 FastCGI 的进程管理器。

PHP-FPM 的特点

支持平滑停止、启动的高级进程管理功能

动、静态子进程产生

慢日志,记录脚本运行所导致的异常缓慢

可以监听不同的端口和使用不同的 php.ini

PHP-FPM 的管理和配置

PHP-FPM 管理

master 主进程理解以下信号:

INT,TERM 立刻终止

QUIT 平滑终止

USR1 重新打开日志文件

USR2 平滑重载所有 worker 进程并重新载入配置和二进制模块

  1. # 查看 php-fpm 用户 
  2.  
  3. ps aux | grep php-fpm 
  4.  
  5. # 查看 php-fpm 进程 pid 
  6.  
  7. ps -ef | grep php-fpm 
  8.  
  9. # 启动 php-fpm 
  10.  
  11. php-fpm -D 
  12.  
  13. # 关闭 php-fpm 
  14.  
  15. kill -INT [pid] 
  16.  
  17. # 重启 php-fpm 
  18.  
  19. kill -USR2 [pid] 

ps 是展示当前进程的快照。

PHP-FPM 配置:

/etc/php-fpm.d 文件夹中包含了所有进程池的配置,在主配置文件 /etc/php-fpm.conf 中有下面一行:

include=/etc/php-fpm.d/*.conf

php-fpm.conf 的主配置文件包含全局配置,子配置是不同进程池的配置,例如 www。

全局配置:

# s 秒,m 分,h 小时,d 天

# 子进程在 emergency_restart_interval 设定的时间内收到该参数设定次数的 SIGSEGV 或者 SIGBUS退出信息号,则FPM会重新启动

emergency_restart_threshold 10

# 平滑重启的间隔时间:

emergency_restart_interval 1m

# 子进程接受主进程复用信号的超时时间

process_control_timeout 10s

进程池配置:

# 接收 FastCGI 请求的地址

listen: 'ip:port', '/path/to/unix/socket'

# 设置进程管理器如何管理子进程

pm: static 固定数量, ondemand 进程在有需求时才产生, dynamic 动态设置

static 和 dynamic 配置:

内存比较少,并发量不是很大的应用,可以考虑采用 dynamic 的方式,这样可以控制 php-fpm 所消耗的总内存数。

在并发高或者流量波动大的情况下,使用 static 可以在高并发下获得比 dynamic 更快的响应速度。

可配置进程数量 = php-fpm 可配置内存 / (php-fpm 子进程的内存占用 * 1.2)。

Tags: PHP-FPM PHP-FPM管理配置

分享到: