Различные пулы php-fpm в одном виртуальном хосте nginx

Некоторое время я искал в сети, но не смог. Моя проблема в следующем:

Я хочу использовать разные пулы php-fpm в одном виртуальном хосте nginx в зависимости от характера запроса, но не могу найти способ настроить местоположение ~ \ .php $ {...} часть моей конфигурации vhost для поддержки двух разных рабочих пулов.

Единственное решение, которое я придумал, - это перенаправление веб-запроса на другой сайт nginx.

Заранее спасибо

1
задан 4 August 2016 в 16:33
1 ответ

Вы можете работать по следующему принципу:

set $upstream /path/to/defaultfpm-socket;

location /first {
    set $upstream /path/to/fpm1-socket;
}

location /second {
    set $upstream /path/to/fpm2-socket;
}

fastcgi_pass $upstream;

Итак, здесь мы устанавливаем переменную $ upstream для сокета PHP5-FPM, который мы хотим использовать в зависимости от местоположения (часть URI). Затем мы используем переменную с fastcgi_pass для передачи запроса этому экземпляру PHP5-FPM. В правилах

location могут использоваться обычные правила сопоставления nginx, такие как сопоставление регулярных выражений, префиксов и т. Д. Рекомендуется установить значение по умолчанию, чтобы запросы всегда анализировались.

Вам также необходимо включить другие операторы FastCGI в конфигурацию.

4
ответ дан 3 December 2019 в 17:36

Теги

Похожие вопросы