Apache mod_proxy_fcgi: один прокси-сервер для каждого vhost?

Я настраивал сервер, используя Apache 2.4, mpm_event, mod_proxy_fcgi и php_fpm.

В документах mod_proxy_fcgi ( https://httpd.apache.org/docs/2.4/mod/mod_proxy_fcgi.html) упоминается "По соображениям производительности вы захотите определить работника, представляющего тот же fcgi:// backend".

Их пример:

<FilesMatch "\.php$">
# Note: The only part that varies is /path/to/app.sock
SetHandler  "proxy:unix:/path/to/app.sock|fcgi://localhost/"
</FilesMatch>

# Define a matching worker.
# The part that is matched to the SetHandler is the part that
# follows the pipe. If you need to distinguish, "localhost; can
# be anything unique.
<Proxy "fcgi://localhost/" enablereuse=on max=10>
</Proxy>

Теперь мой вопрос: У меня есть настройка пула php_fpm для каждого Vhost и задаю SetHandler для каждого vhost, чтобы он использовал правильный пул. Должен ли я настраивать нового прокси-работника для каждого vhost?

Пример Vhost 1:

<FilesMatch "\.php$">
    SetHandler  "proxy:unix:/path/to/app1.sock|fcgi://app1/"
</FilesMatch>

<Proxy "fcgi://app1/" enablereuse=on max=10></Proxy>

Пример Vhost 2:

<FilesMatch "\.php$">
    SetHandler  "proxy:unix:/path/to/app2.sock|fcgi://app2/"
</FilesMatch>

<Proxy "fcgi://app2/" enablereuse=on max=10></Proxy>

Или использование 'fcgi://localhost/' в каждом SetHandler правильно?

1 ответ

Я понимаю, что не до конца понял, что настраивал. Как сказано в документации mod_proxy, Apache запускается с 2 рабочими по умолчанию для mod_proxy, один для запросов Forward Proxy и один для запросов Reverse Proxy. Эти работники имеют в виду работников МПМ, это то, чего я не понимал. В моем случае это работники mpm_event, каждый из которых работает так, как он настроен в конфигурации Apache.

Нет правильного ответа на этот вопрос без предварительного рассмотрения вашего использования и рабочей конфигурации. Если вы чувствуете, что один работник mpm может обрабатывать все ваши сайты, нет причин не использовать работника по умолчанию, fcgi://localhost. Если у вас есть один большой сайт и вы хотите, чтобы у него был собственный рабочий mpm, все, что вам нужно сделать, это указать новый прокси-сервер и настроить обработчик на его использование.

Другие вопросы по тегам