Forum: NGINX Load balancing, missing a detail...

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Floren M. (Guest)
on 2009-03-23 18:26
(Received via mailing list)
Hi all,

I need your help with setting nginx as load balancer.
I have 2 servers, 192.168.1.2 (Web1) and 192.168.1.3 (Web2), both with
same content into /www/html directory.
Web1 has nginx installed.

http {
  ...
  upstream webcluster {
    server        192.168.1.2:8000;
    server        192.168.1.3:8001;
  }

  ignore_invalid_headers      on;
   reset_timedout_connection    on;
   keepalive_timeout        60;

  server {
    listen        80;
    server_name        domain.com;
    root          /var/www/html;
    access_log
/var/log/nginx/localhost.access.log  main buffer=32k;
    error_log
/var/log/nginx/localhost.error.log  warn;

    client_max_body_size    10m;
    client_body_buffer_size    512k;

    proxy_buffer_size      32k;
    proxy_buffers      16 32k;
    proxy_set_header      Host $host;
    proxy_set_header      X-Real-IP
$remote_addr;
    proxy_set_header      X-Forwarded-For
$proxy_add_x_forwarded_for;

    error_page 404      = /404.html;
    error_page 500 502 503 504  = /50x.html;

    location / {
      proxy_pass
$scheme://webcluster;
      index        index.php
index.html;
    }
  }
}

What am I missing? Do I need to install another software, like
TurboGears?
All I want is to load balance 2 servers who have the exact same
content...

I looked at this example:
http://wiki.nginx.org/NginxLoadBalanceExample

If I visit http://192.168.1.2:80/, I can see the site. Not if I go to
http://192.168.1.2:8000/...
With the above configuration, I get this error message:
2009/03/23 12:10:42 [error] 27847#0: *1 connect() failed (111:
Connection refused) while connecting to upstream, client: xx.xx.xx.xx,
server: domain.com, request: "GET /forum/ HTTP/1.1", upstream:
"http://192.168.1.3:8001", host: "domain.com"
2009/03/23 12:10:42 [error] 27847#0: *1 connect() failed (111:
Connection refused) while connecting to upstream, client: xx.xx.xx.xx,
server: domain.com, request: "GET /forum/ HTTP/1.1", upstream:
"http://192.168.1.2:8000", host: "domain.com"
2009/03/23 12:10:42 [error] 27847#0: *1 no live upstreams while
connecting to upstream, client: xx.xx.xx.xx, server: domain.com,
request: "GET /forum/ HTTP/1.1", upstream: "http://webcluster", host:
"domain.com"

Please let me know what else I need to configure, in order to enable the
balancer.

Regards,

Floren
Sergej Kandyla (Guest)
on 2009-03-23 18:46
(Received via mailing list)
Floren M. пишет:
> Hi all,
>
> I need your help with setting nginx as load balancer.
> I have 2 servers, 192.168.1.2 (Web1) and 192.168.1.3 (Web2), both with
> same content into /www/html directory.
> Web1 has nginx installed.
>
>
Did you read this http://wiki.nginx.org/NginxHttpUpstreamModule ?

>
> What am I missing? Do I need to install another software, like
> TurboGears?
>
No.

> All I want is to load balance 2 servers who have the exact same
> content...
>
> I looked at this example:
> http://wiki.nginx.org/NginxLoadBalanceExample
>
> If I visit http://192.168.1.2:80/, I can see the site. Not if I go to
> http://192.168.1.2:8000/...
>

You should define a real ports of your backends in the nginx
configuration.
i.e.

http {
upstream backends {
server 192.168.1.2:80;
server 192.168.1.3:80;
}

server {
listen 80;
server_name www.domain.com;
location / {
proxy_pass http://mbackends;
}
}
}
Floren M. (Guest)
on 2009-03-23 19:03
(Received via mailing list)
Hi Sergej,

> -----Original Message-----
> From: Sergej Kandyla [mailto:sk.paix-
> removed_email_address@domain.invalid]
> Posted At: Monday, March 23, 2009 12:31 PM
> Posted To: gmane.comp.web.nginx.english
> Conversation: Load balancing, missing a detail...
> Subject: Re: Load balancing, missing a detail...
>
> You should define a real ports of your backends in the nginx
> configuration.

I need nginx installed in one server only, right?
Thanks for the above posted info.

Regards,

Floren
This topic is locked and can not be replied to.