在几个 php5-fpm 池中包含通用配置

Fra*_*eni 3 php web-server php-fpm

简而言之:如何在多个 php-fpm 池中包含相同的设置而不为每个池重复它们?

细节

在 php5-fpm 中有全局指令和每个池指令。在所有示例和文档中,每个池都有所有必需的设置,例如

[www]
user = $pool
group = $pool
listen = 127.0.0.1:9001
listen.owner = $pool
listen.group = $pool
pm = ondemand
pm.max_children = 5
pm.process_idle_timeout = 30s
chdir = /var/www/$pool

[www2]
user = $pool
group = $pool
listen = 127.0.0.1:9002
listen.owner = $pool
listen.group = $pool
pm = ondemand
pm.max_children = 5
pm.process_idle_timeout = 30s
chdir = /var/www/$pool
Run Code Online (Sandbox Code Playgroud)

如您所见,大多数配置都是相同的,所以我想知道是否有办法将该配置放在所有池都可以隐式或显式包含它们的地方。

将它们放在该[Global]部分的底部是行不通的。

谢谢你的任何建议。

Fra*_*eni 9

经过反复试验,我发现您可以安全地使用该include指令来包含设置:-)

我创建了一个附加/etc/php5/fpm/common.conf文件:

user = $pool
group = $pool
listen.owner = $pool
listen.group = $pool
pm = ondemand
pm.max_children = 5
pm.process_idle_timeout = 30s
chdir = /var/www/$pool
Run Code Online (Sandbox Code Playgroud)

现在我所有的池都可以像这样简单:

[www]
listen = 127.0.0.1:9001
include = /etc/php5/fpm/common.conf

[www2]
listen = 127.0.0.1:9002
include = /etc/php5/fpm/common.conf
Run Code Online (Sandbox Code Playgroud)

补充说明:

  • 是的,您必须指定公共文件的完整路径,因为 fpm 进程的当前路径不是pool.d文件夹

  • 是的,所有的插值都完成了,所以$pool变成wwwwww2在运行时

希望这对其他人也有用。