Некоторое время я искал в сети, но не смог. Моя проблема в следующем:
Я хочу использовать разные пулы php-fpm в одном виртуальном хосте nginx в зависимости от характера запроса, но не могу найти способ настроить местоположение ~ \ .php $ {...}
часть моей конфигурации vhost для поддержки двух разных рабочих пулов.
Единственное решение, которое я придумал, - это перенаправление веб-запроса на другой сайт nginx.
Заранее спасибо
Вы можете работать по следующему принципу:
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 в конфигурацию.