簡単に言うと、プールごとに繰り返すことなく、複数の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
ご覧のとおり、ほとんどの構成は同じなので、すべてのプールに暗黙的または明示的に含めることができる場所にその構成を配置する方法があるのではないかと思います。
それらを[Global]
セクションの下部に配置するだけでは機能しません。
ご提案ありがとうございます。
試行錯誤の末、include
ディレクティブを安全に使用して、include settings :-)
追加の/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
そして今、私のすべてのプールはこれと同じくらい単純にすることができます:
[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
その他の注意事項:
はい、fpmプロセスの現在のパスはpool.d
フォルダーではないため、共通ファイルへのフルパスを指定する必要があります
はい、すべての補間が行われるため、実行時に$pool
はwww
またはwww2
になります
これが他の誰かにも役立つことを願っています。