内容简介: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 的管理和配置》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Android编程权威指南(第2版)
Bill Phillips、Chris Stewart、Brian Hardy、Kristin Marsicano / 王明发 / 人民邮电出版社 / 2016-5 / 109.00 元
Big Nerd Ranch是美国一家专业的移动开发技术培训机构。本书主要以其Android训练营教学课程为基础,融合了几位作者多年的心得体会,是一本完全面向实战的Android编程权威指南。全书共34章,详细介绍了8个Android 应用。通过这些精心设计的应用,读者可掌握很多重要的理论知识和开发技巧,获得最前沿的开发经验。 如果你熟悉Java语言,或者了解面向对象编程,那就立刻开始And......一起来看看 《Android编程权威指南(第2版)》 这本书的介绍吧!