Некоторое время я искал в Интернете, но безуспешно. Моя проблема в следующем:
Я хочу использовать разные пулы php-fpm в одном виртуальном хосте nginx в зависимости от характера запроса, но не могу найти способ настроить location ~ \.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.