本篇文章给大家带来的内容是关于PHP-FPM是什么?PHP-FPM管理和配置的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
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是什么?PHP-FPM管理和配置的介绍的详细内容。更多信息请关注PHP中文网其他相关文章!

aphpdepentioncontiveContainerIsatoolThatManagesClassDeptions,增强codemodocultion,可验证性和Maintainability.itactsasaceCentralHubForeatingingIndections,因此reducingTightCightTightCoupOulplingIndeSingantInting。

选择DependencyInjection(DI)用于大型应用,ServiceLocator适合小型项目或原型。1)DI通过构造函数注入依赖,提高代码的测试性和模块化。2)ServiceLocator通过中心注册获取服务,方便但可能导致代码耦合度增加。

phpapplicationscanbeoptimizedForsPeedAndeffificeby:1)启用cacheInphp.ini,2)使用preparedStatatementSwithPdoforDatabasequesies,3)3)替换loopswitharray_filtaray_filteraray_maparray_mapfordataprocrocessing,4)conformentnginxasaseproxy,5)

phpemailvalidation invoLvesthreesteps:1)格式化进行regulareXpressecthemailFormat; 2)dnsvalidationtoshethedomainhasavalidmxrecord; 3)

tomakephpapplicationsfaster,关注台词:1)useopcodeCachingLikeLikeLikeLikeLikePachetoStorePreciledScompiledScriptbyTecode.2)MinimimiedAtabaseSqueriSegrieSqueriSegeriSybysequeryCachingandeffeftExting.3)Leveragephp7 leveragephp7 leveragephp7 leveragephpphp7功能forbettercodeefficy.4)

到ImprovephPapplicationspeed,关注台词:1)启用opcodeCachingwithapCutoredUcescriptexecutiontime.2)实现databasequerycachingusingpdotominiminimizedatabasehits.3)usehttp/2tomultiplexrequlexrequestsandredececonnection.4 limitsclection.4.4

依赖注入(DI)通过显式传递依赖关系,显着提升了PHP代码的可测试性。 1)DI解耦类与具体实现,使测试和维护更灵活。 2)三种类型中,构造函数注入明确表达依赖,保持状态一致。 3)使用DI容器管理复杂依赖,提升代码质量和开发效率。

databasequeryOptimizationinphpinvolVolVOLVESEVERSEVERSTRATEMIESOENHANCEPERANCE.1)SELECTONLYNLYNESSERSAYCOLUMNSTORMONTOUMTOUNSOUDSATATATATATATATATATATRANSFER.3)


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具