Diferentes conjuntos php-fpm em nhostx vhost único

1

Procurei por um tempo on-line, mas não consegui. Meu problema é o seguinte:

Eu quero usar pools php-fpm diferentes em um nhostx vhost baseado condicionalmente na natureza da solicitação, mas não consegui encontrar uma maneira de configurar a parte location ~ \.php$ {...} da configuração do meu vhost para suportar dois pools de trabalhadores diferentes.

A única solução que descobri é redirecionar a solicitação da web para outro site nginx.

Obrigado antecipadamente

    
por Daniel K. Mueller 04.08.2016 / 15:33

1 resposta

4

Você pode trabalhar com o seguinte princípio:

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;

Portanto, aqui definimos a variável $upstream para o soquete PHP5-FPM que queremos usar, dependendo da localização (parte do URI). Em seguida, usamos a variável com fastcgi_pass para passar a solicitação para essa instância do PHP5-FPM.

As regras

location podem usar regras de correspondência nginx normais, como regex, prefixo, etc. É uma boa ideia definir um valor padrão para que as solicitações sejam sempre analisadas.

Você também precisa incluir outras instruções FastCGI na configuração.

    
por 04.08.2016 / 16:18