PHP-FPM的配置与优化讲解
php-fpm(fastcgi process manager:fastcgi进程管理器)是一个phpfastcgi管理器,用于管理 php 进程池、接收和处理 web 服务器的请求。php-fpm 会创建一个主进程,控制何时以及如何把 http 请求转发给一个或多个子进程处理。
全局配置
emergency_restart_threshold = 60(建议值)
如果子进程在 emergency_restart_interval 设定的时间内收到该参数设定次数的 sigsegv 或者 sigbus退出信息号,则fpm会重新启动。
emergency_restart_interval = 1m
用于设定平滑重启的间隔时,单位:s(秒),m(分),h(小时)或者 d(天)。默认单位:s(秒)。
这个两个设置的作用是,如果在指定的一段时间内指定的子进程失效了,让 php-fpm 重启。
这个两个设置默认是关闭的,建议开启,
进程池配置
php-fpm 中有一个 pool definitions 的区域,意为进程池,通常建议一个 php 应用使用一个进程池。
php-fpm 配置文件有默认名为 www 的配置内容。
user = 运行 php 的非 root 用户
子进程运行的用户。必须设置。
group = 运行 php 的非 root 用户所属的用户组
子进程运行的用户组。如果没有设置,则默认用户的组被使用。
listen = 127.0.0.1:9000
或者 /path/to/unix/socket
设置接受 fastcgi 请求的地址。
listen.allowed_clients = 127.0.0.1
设置允许连接到 fastcgi 的服务器 ip 地址。默认情况,这个字段是注释掉了,建议开启。
pm = 生产环境 static
设置进程管理器如何管理子进程。可用值:static,ondemand,dynamic。
- static:子进程的数量是固定的(pm.max_children)。
- ondemand:进程在有需求时才产生(当请求时,与 dynamic 相反,pm.start_servers 在服务启动时即启动。
- dynamic:子进程的数量在下面配置的基础上动态设置:pm.max_children,pm.start_servers,pm.min_spare_servers,pm.max_spare_servers。
pm.max_children =
设置 php-fpm 进程池中最多能有多少个进程。这个没有绝对正确值,要根据实际情况设置。
假设每个 php 进程使用 20-30m 内存,为整个 php-fpm 环境配置了 512 m 内存,那么可以设置为 17-25 中间值。
pm.start_servers =
设置启动时创建的子进程数目。仅在 pm 设置为 dynamic 时使用。
pm.min_spare_servers =
设置空闲服务进程的最低数目。仅在 pm 设置为 dynamic 时使用。必须设置。
pm.max_spare_servers =
设置空闲服务进程的最大数目。仅在 pm 设置为 dynamic 时使用。必须设置。
pm.max_requests = 1000
设置每个子进程重生之前服务的请求数。对于可能存在内存泄漏的第三方模块来说是非常有用的。如果设置为 '0' 则一直接受请求,默认值:0。
slowlog =
慢请求的记录日志。
注意 php-fpm 进程所属的用户和用户组必须具有相应文件的写权限。
request_slowlog_timeout = 5
当一个请求该设置的超时时间后,就会将对应的 php 调用堆栈信息完整写入到慢日志中。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
下一篇: 企业网络推广第一步:弄清推行的原因和意图
推荐阅读
-
安装、配置和测试Windows,Apache,Informix与PHP服务器的分步指南_PHP教程
-
mysql与Navicat for MySQL的衔接配置问题【原创】 - 橙色时光
-
php 在 windows 下扩展redis 的配置与说明
-
spring Boot环境下dubbo+zookeeper的一个基础讲解与示例
-
从URL静态化与动态化之争谈搜索引擎优化技术(SEO)的学习
-
讲解Linux中校验文件的MD5码与SHA1码的命令使用
-
Nginx负载均衡以及动静分离的原理与配置
-
PHP的Yii框架中行为的定义与绑定方法讲解
-
PHP魔术方法以及关于独立实例与相连实例的全面讲解_php实例
-
全面拆解和构建5G物联网-22:LoRa终端--射频芯片SX1261 SX1262的LoRa专用调制解调器与配置