学习nginx负载均衡遇到问题

amtfnow 发布于 2016/09/15 13:49
阅读 718
收藏 1

学习nginx的负载均衡配置,应用服务器是tomcat,都部署在同一台电脑上面,配置文件中的重点部分如下:

    upstream localhost {
        server 127.0.0.1:8080;
        server 127.0.0.1:8081;
    }
    
    server {
         listen       80;
        server_name localhost;
         location / {
              root   html;
             index  index.html index.htm;
         }
         location /Test {
              proxy_pass http://localhost;
         }
    }

upstream 中server地址为127.0.0.1的时候工作正常。

当我把upstream 中的127.0.0.1换为localhost的话,发现工作不正常,会出现超时:

upstream timed out (10060: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET /Test/testServlet HTTP/1.1", upstream: "http://[::1]:8081/Test/testServlet", host: "localhost"

这是为什么呢?希望朋友们指点。

加载中
0
excepiton
excepiton

server_name配置成localhost有问题吧,不会和本地dns冲突吗?

0
IdleMan
IdleMan
upstream名称改一下
a
amtfnow
@excepiton 有点没有明白您的意思,能帮忙解释一下吗?0
a
amtfnow
@IdleMan 我把upstream的名称改了,然后把server的127.0.0.1换为localhost,情况没有改观
0
excepiton
excepiton
upstream server1 {
        server 127.0.0.1:8080;
        server 127.0.0.1:8081;
    }
    
    server {
        listen       80;
        server_name test.com;
        location / {
            root   html;
             index  index.html index.htm;
         }
        location /Test {
            proxy_pass http://server1;
        }
    }


0
CapJes
CapJes
有可能是你没有配置weight参数,Nginx配置负载的需要配置一个默认高权值的服务。
0
191881708
191881708
upstream名称为啥要是localhost,改个名字,80端口循环了
a
amtfnow
我访问的url:http://localhost/Test/TestServlet,nginx监听到这个请求会去找server,server的地址为localhost:8081或localhost:8080,8080和8081端口,nginx没有监听,这是我的思路。实际的情况是第一次访问没问题,接着第二次访问,就一直等待,差不多1min后,请求也正常处理返回了。
0
191881708
191881708
location /Test {
            proxy_redirect    off;
            proxy_set_header  Host $host:80;
            proxy_set_header  X-Real-IP  $remote_addr;
            proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://server1;
        }

改成这样试下 
返回顶部
顶部