在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服务以使更改生效。