nginx como um proxy reverso

0

Esta é a minha primeira vez com o nginx, então seja gentil, eu tenho dois apache em duas máquinas separadas e um host virtual em cada um e eu posso acessar as páginas de uma LAN. Eu quero correr nginx em outra máquina como um proxy reverso para eles e fazer um balanceamento de carga para os dois servidores é possível? e como será a configuração? Eu sei que eu não deveria perguntar isso, mas eu sou novo e eu tenho lido a configuração básica do nginx de sites diferentes, mas eu não conseguia entender nada, então basicamente eu não sei como configurá-lo.

    
por prince joo 26.03.2017 / 20:11

1 resposta

0

Primeiro, você deve definir o ip público ou o encaminhamento de porta do ip público, port 80 , para o seu nginx server.

Em seguida, você deve ter conexão entre nginx e apache 1 , entre nginx e apache 2 e entre apache 1 e apache 2 .

                  | port 80 | prublic ip or fw from public ip
              -----------------------
              |        nginx        |
              -----------------------
             / 10.10.10.1           \
            / 10.10.10.2             \ 10.10.10.3
    |---------|                  |---------|
    | apache1 |------------------| apache2 |
    |---------|                  |---------|

A conexão entre nginx e apache é usuário para balanceamento de carga

A conexão entre apach 1 e apache 2 é para replicação de aplicativo. Você deve ter o mesmo aplicativo sincronizado no apache node.

Os seguintes mecanismos de balanceamento de carga (ou métodos) são suportados no nginx:

round-robin - os pedidos para os servidores de aplicativos são distribuídos em um modo round-robin,

least-connected - a próxima solicitação é atribuída ao servidor com o menor número de conexões ativas,

ip-hash - uma função hash é usada para determinar qual servidor deve ser selecionado para a próxima solicitação (com base no endereço IP do cliente). Configuração padrão de balanceamento de carga

A configuração mais simples para load balancing com nginx pode ser semelhante ao seguinte:

http {
upstream myapp1 {
    server apache1.example.com;
    server apache2.example.com;
}

server {
    listen 80;

    location / {
        proxy_pass http://myapp1;
        }
    }
}

Mais exemplos de configuração e posibilite você pode encontrar aqui

    
por 2707974 26.03.2017 / 22:03