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