用nginx和node建立上游?

时间:2012-11-22 16:08:09

标签: node.js nginx load-balancing reverse-proxy

我在aws上有三个实例。一个用于nginx,前端服务器和两个后端nodejs实体。

我试图将nginx服务器设置为这些node.js实例的上游:

upstream node_servers {
        server private_ip:8124 weight=10 max_fails=3; // node server 1 private_ip:port
        server private_ip:8124 weight=10 max_fails=3; // node server 2 private_ip:port
}
server {
    listen  private_ip:80;     // nginx server private ip:port
    root /home/ubuntu/project/;
    server_name public_ip.eu-west-1.compute.amazonaws.com;  // nginx public DNS
    location / {

                try_files $uri $uri/ /index.html;
                proxy_pass http://node_servers/;

     }
}

在我的节点1服务器上,节点2服务器实例app.js代码:

app.listen(8124, "127.0.0.1");
console.log("listening on 8124");

我去了nginx服务器公共域名,没有真正发生,它只是加载永远发送请求.....

1 个答案:

答案 0 :(得分:1)

在您的节点代码中,您正在侦听127.0.0.1上的环回接口(仅来自localhost的请求):

app.listen(8124, "127.0.0.1");

您必须收听您的特定私人IP或0.0.0.0:

app.listen(8124, "0.0.0.0");