【问题标题】:How to load balance using Nginx?如何使用 Nginx 进行负载均衡?
【发布时间】:2014-04-28 06:40:53
【问题描述】:

我使用的是this tutorial,但我指定的是应用程序目录,而不是普通的 server:port,但它给出了以下异常

nginx: [emerg] invalid host in upstream "localhost:9090/pa" in C:\app\abhishek\nginx_test\nginxc1/conf/nginx.conf:18

我使用 nginx 作为我的负载平衡和 tomcat 作为我的网络服务器。我可以使用http://localhost:9090/pahttp://localhost:10080/pa 访问我的tomcat webapp。

这是我的 nginx.conf 文件

#user  nobody;
worker_processes  1;

error_log  logs/error.log  info;

events {
    worker_connections  1024;
}


http {

    #keepalive_timeout  0;
    keepalive_timeout  75;

    upstream balancer {
        server localhost:9090/pa weight=2;
        server localhost:10080/pa;
    }

    server {
        listen       6789;
        server_name  localhost;

        location /bal/ {
            proxy_pass http://balancer;
        }

        error_page   500 502 503 504 404  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

}

【问题讨论】:

    标签: tomcat nginx tomcat7 tomcat6


    【解决方案1】:

    Upstream 仅声明主机和端口。路径是 proxy_pass 的一部分。所以你的配置应该是这样的:

    upstream balancer {
        server localhost:9090 weight=2;
        server localhost:10080;
    }
    
    ...
    
    location /bal/ {
        proxy_pass http://balancer/pa/;
    }
    

    另外,注意尾随斜杠,通常在location proxy_pass 中同时使用或不使用它们。

    【讨论】:

      猜你喜欢
      • 2012-11-15
      • 2013-04-28
      • 1970-01-01
      • 2016-05-12
      • 1970-01-01
      • 1970-01-01
      • 2016-06-27
      • 2017-01-20
      相关资源
      最近更新 更多