服务器环境主要为lnmp,最近想理解一些fpm的一些常见配置,就将 fpm.d.www.conf 和 php-fpm.conf 的配置解释看了一遍,常用功能如下:
1、fpm的慢日志监控,可以快速定位一些504之类请求原因
;慢请求的记录日志 slowlog = log/$pool.log.slow ; 当一个请求该设置的超时时间后,就会将对应的PHP调用堆栈信息完整写入到慢日志中 ;request_slowlog_timeout = 0 ; 设置单个请求的超时中止时间 ;request_terminate_timeout = 0
2、fpm的进程数管理,可以有效防止宕机
; 设置进程管理器如何管理子进程|动态/静态 pm = dynamic ;pm = static ; 静态方式下开启的php-fpm进程数量 pm.max_children = 50 ;动态方式下的起始php-fpm进程数量。 pm.start_servers = 10 ;动态方式下的最小php-fpm进程数量。 pm.min_spare_servers = 10 ;动态方式下的最大php-fpm进程数量。 pm.max_spare_servers = 30
详解推荐:
https://blog.csdn.net/joshua_317/article/details/68946667
3、用户权限管理,给予fpm的Linux角色和用户组提高服务器安全性
; Unix用户/进程组注意:用户是强制性的。如果未设置组,将使用默认用户的组 user = www-data group = www-data