Solicitações HTTP de proxy para várias máquinas

1

Eu tenho

  • um serviço chamado legacy-service
  • outro serviço chamado dev-service
  • grupo de solicitações HTTP que chegam ao serviço legado

Existe alguma maneira de solicitar solicitações HTTP para serviços herdados e novos serviços sem escrever um utilitário personalizado? Assim, posso testar meu serviço de dev em tráfego real, mas sem desativar o serviço legado.

    
por Vladimir 19.03.2013 / 12:47

1 resposta

0

Sim, você pode usar o módulo de envio de dados para ter solicitações de saldo de carga nginx em diferentes back-ends.

No bloco global:

upstream backend {
    server unix:/dev/shm/.php-fpm/socket;
    server unix:/dev/shm/.php-fpm/socket2;
}

Ou use endereços IP ou nomes de domínio do servidor, se você quiser que as solicitações sejam enviadas para outras máquinas, em vez de instâncias diferentes do PHP.

E, em seguida, no bloco do servidor:

location ~ \.php$
{
    include fastcgi_params;
    fastcgi_pass backend;
    fastcgi_index index.php;
    fastcgi_send_timeout 15;
    fastcgi_read_timeout 15;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

Os backends também podem ser nomes de domínio / IP, para permitir o balanceamento de carga para outras máquinas.

    
por 19.03.2013 / 16:22