Linux PHP-FPM(FastCGI Process Manager)是一个用于管理PHP FastCGI进程的工具。它可以帮助你更好地控制PHP进程,提高性能和安全性。以下是PHP-FPM的主要配置文件及其详解:
-
php-fpm.conf:这是PHP-FPM的主配置文件,通常位于/etc/php-fpm.d/目录下。它包含了一些全局配置选项,例如PID文件、日志文件、错误日志等。
-
www.conf:这是PHP-FPM的默认池配置文件,通常位于/etc/php-fpm.d/www.conf。它包含了与进程管理相关的配置选项,例如进程数量、进程空闲时间、请求处理队列等。
-
php.ini:这是PHP的主要配置文件,包含了PHP的运行时配置选项。它通常位于/etc/php/版本号/cli/php.ini(命令行模式)或/etc/php/版本号/fpm/php.ini(PHP-FPM模式)。php.ini文件中的配置选项会覆盖php-fpm.conf中的相应设置。
以下是一些常见的PHP-FPM配置选项及其详解:
- pid:指定PHP-FPM的主进程PID文件路径。
- error_log:指定PHP-FPM的错误日志文件路径。
- log_level:设置错误日志的级别,例如:alert, error, warning, notice, debug等。
- listen:指定PHP-FPM监听的地址和端口,例如:127.0.0.1:9000。也可以使用unix:/path/to/socket文件的方式监听Unix套接字。
- listen.owner、listen.group、listen.mode:分别设置监听套接字的属主、属组和权限。
- pm:设置进程管理方式,可选值有static、dynamic、ondemand。static表示固定数量的子进程;dynamic表示根据负载动态调整子进程数量;ondemand表示按需创建子进程。
- pm.max_children:设置最大子进程数量。
- pm.start_servers:设置启动时的子进程数量。
- pm.min_spare_servers:设置最小空闲子进程数量。
- pm.max_spare_servers:设置最大空闲子进程数量。
- pm.max_requests:设置每个子进程在重启前处理的请求数量。
- chdir:设置子进程的工作目录。
- catch_workers_output:设置是否捕获子进程的输出日志。
这些配置选项可以根据实际需求进行调整,以优化PHP-FPM的性能和资源使用。在修改配置文件后,需要重启PHP-FPM服务以使更改生效。