在Linux系统中,PHP-FPM(FastCGI Process Manager)是一个用于管理PHP FastCGI进程的工具
listen
: 监听的地址和端口。可以是Unix socket(例如:/var/run/php-fpm.sock
)或TCP/IP地址(例如:127.0.0.1:9000
)。使用Unix socket可以提高性能,因为它避免了TCP/IP协议的开销。
listen.owner
: 监听地址的所有者。通常设置为Web服务器的用户,例如www-data
。
listen.group
: 监听地址的所属组。通常设置为Web服务器的用户组,例如www-data
。
listen.mode
: 监听地址的权限。通常设置为0660
,表示只有所有者和所属组可以访问。
user
: PHP-FPM进程运行的用户。通常设置为Web服务器的用户,例如www-data
。
group
: PHP-FPM进程运行的用户组。通常设置为Web服务器的用户组,例如www-data
。
pm
: 进程管理方式。可选值有static
(静态)、dynamic
(动态)和ondemand
(按需)。static
表示固定数量的子进程;dynamic
表示根据负载自动调整子进程数量;ondemand
表示按需创建子进程,空闲一段时间后自动销毁。
pm.max_children
: 最大子进程数量。仅在pm
为static
、dynamic
或ondemand
时生效。
pm.start_servers
: 启动时的子进程数量。仅在pm
为dynamic
时生效。
pm.min_spare_servers
: 最小空闲子进程数量。仅在pm
为dynamic
时生效。
pm.max_spare_servers
: 最大空闲子进程数量。仅在pm
为dynamic
时生效。
pm.max_requests
: 每个子进程在被销毁前处理的请求数量。这有助于避免内存泄漏。
slowlog
: 慢日志文件路径。记录执行时间超过指定值的PHP脚本。
request_slowlog_timeout
: 慢请求日志的超时时间(秒)。默认值为0,表示不记录慢请求。
rlimit_files
: 文件描述符的限制。设置PHP-FPM进程可以打开的最大文件描述符数量。
rlimit_core
: 核心文件的限制。设置PHP-FPM进程可以创建的最大核心文件大小。
catch_workers_output
: 是否捕获子进程的输出。默认值为yes
,可以将输出记录到日志文件中。
这些是PHP-FPM配置文件中的主要参数。根据实际需求进行调整,以优化性能和资源使用。在修改配置文件后,记得重启PHP-FPM服务以使更改生效。