PHP-FPM 的管理和配置

栏目: 后端 · 前端 · 发布时间: 7年前

内容简介:PHP-FPM 是 FastCGI 的进程管理器。master 主进程理解以下信号:

PHP-FPM 是什么?

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

PHP-FPM 的特点

  • 支持平滑停止、启动的高级进程管理功能
  • 动、静态子进程产生
  • 慢日志,记录脚本运行所导致的异常缓慢
  • 可以监听不同的端口和使用不同的 php.ini

PHP-FPM 的管理和配置

PHP-FPM 管理

master 主进程理解以下信号:

  • INT,TERM 立刻终止
  • QUIT 平滑终止
  • USR1 重新打开日志文件
  • USR2 平滑重载所有 worker 进程并重新载入配置和二进制模块
# 查看 php-fpm 用户
ps aux | grep php-fpm

# 查看 php-fpm 进程 pid
ps -ef | grep php-fpm

# 启动 php-fpm
php-fpm -D

# 关闭 php-fpm
kill -INT [pid]

# 重启 php-fpm
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)


以上所述就是小编给大家介绍的《PHP-FPM 的管理和配置》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据库系统实现

数据库系统实现

加西亚-莫利纳(Hector Garcia-Molina)、Jeffrey D.Ullman、Jennifer Widom / 杨冬青、吴愈青、包小源 / 机械工业出版社 / 2010-5 / 59.00元

《数据库系统实现(第2版)》是斯坦福大学计算机科学专业数据库系列课程第二门课的教科书。书中对数据库系统实现原理进行了深入阐述,并具体讨论了数据库管理系统的三个主要成分——存储管理器、查询处理器和事务管理器的实现技术。此外,第2版充分反映了数据管理技术的新进展,对内容进行了扩充,除了在第1版中原有的“信息集成”一章(第10章)中加入了新的内容外,还增加了两个全新的章:“数据挖掘”(第11章)和“数据......一起来看看 《数据库系统实现》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具