让我来详细讲解一下“php-fpm.conf配置文件中文说明详解及重要参数说明”的完整攻略。
前言
php-fpm
是 NGINX
下最常用的 PHP
解释器管理程序,是一个高效的 PHP
解决方案。php-fpm
配置文件 php-fpm.conf
可以控制 php-fpm
运行时的一些行为以及基础设施设置。
配置文件结构
php-fpm.conf
配置文件中的大部分部分都被包含在 Sections(段落) 中,通常被称为日志、池和其他可用的功能。
一个 section
由一个名称标识符和确定规则和值的 key-value
组成。下面是一个示例:
[www]
listen = 127.0.0.1:9000
user = nginx
group = nginx
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
这表示上面的配置部分定义了一个名为 www
的池,该池使用 IPv4 地址 127.0.0.1
上的端口 9000
进行监听,并使用 nginx
作为工作进程用户和组。该池中的进程与启动、关闭常驻进程数量设置、空闲进程数量和最大进程数量有关。
主要配置参数
以下是在 php-fpm.conf
文件中经常使用的一些关键参数:
listen
listen
指令指定了通过 socket 或 TCP 等协议的 FastCGI
应用程序和 PHP-FPM
进程之间的通信方式。下面是一些常见的例子:
listen = 127.0.0.1:9000 # 监听 127.0.0.1:9000 的 IPv4 套接字文件。
listen = /run/php/php-fpm.sock # 监听 `php-fpm.sock` 文件的域套接字。
user/group
user
和 group
指令定义了 php-fpm
进程应该运行在哪个用户和组的上下文中。如果在服务器上安装了多个 PHP
版本,则应该在多个 php-fpm
进程的设置中使用不同的用户和组标识符,以确保隔离各个 PHP
版本中的任何安全漏洞。下面是一个示例:
user = nginx
group = nginx
pm
pm
指令定义了从外部请求到达时如何管理 PHP
进程。下面是一些可用的 pm
模式:
- static (默认):在进程数达到
pm.max_children
所定义的数量时创建所有要求的进程。 - dynamic:入发请求时按需创建更多进程,关闭这些进程的限制保持
pm.max_children
. - ondemand:在请求到达时即动态创建子进程,默认不启用。
pm.max_children
pm.max_children
定义了池中最大 PHP
子进程的数量(仅适用于 dynamic
和 static
模式)。下面是一个示例:
pm.max_children = 50
pm.start_servers
pm.start_servers
定义了在 dynamic
模式下启动的进程数,以使 pm.min_spare_servers
和 pm.max_spare_servers
工作。下面是一个示例:
pm.start_servers = 5
pm.min_spare_servers
pm.min_spare_servers
定义了至少保留 dynamic
模式中空闲进程的数量。下面是一个示例:
pm.min_spare_servers = 5
pm.max_spare_servers
pm.max_spare_servers
定义保留的最大动态模式空闲进程数。下面是一个示例:
pm.max_spare_servers = 35
示例
下面是一个基本的示例:
[www]
listen = 127.0.0.1:9000
user = nginx
group = nginx
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
这表明 php-fpm
将绑定到 127.0.0.1:9000
,使用 nginx
用户和组运行,并将使用 dynamic
模式启动进程,最多可创建 50
个 php-fpm
进程。如果空闲时,则至少会有 5
个工作进程在每次启动时派生出,并将保留 5
个进程作为空闲进程,最多只保留 35
个空闲进程。
下面是另一个示例,使用套接字连接:
[www]
listen = /run/php/php-fpm.sock
user = nginx
group = nginx
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
这个示例与上面的示例类似,但是 listen
指定了一个域套接字作为通信通道。
结论
以上就是 “php-fpm.conf配置文件中文说明详解及重要参数说明”的完整攻略。通过此攻略,您可以了解配置文件中的文本内容,理解常用参数的用途,更好地管理您的 PHP-FPM
进程。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php-fpm.conf配置文件中文说明详解及重要参数说明 - Python技术站