NGINX多个网站的负载均衡配置

时间:2016-04-17 14:46:21

标签: nginx load-balancing

我有一台NGINX负载均衡器,后面有两个网络服务器。它们都有类似的内容 - 在不同的域上托管类似的应用程序。现在我的配置看起来像这样:

upstream  foosite  {
    ip_hash;
    server   11.222.33.444;
    server   555.666.777.888;
}

upstream  barsite  {
    ip_hash;
    server   11.222.33.444;
    server   555.666.777.888;
}

upstream  bazsite  {
    ip_hash;
    server   11.222.33.444;
    server   555.666.777.888;
}

server {
    listen 80;
    server_name foosite.*;

    location / {
        proxy_pass http://foosite;
        proxy_redirect off;
        proxy_buffering off;
        proxy_set_header        Host            $host;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
server {
    listen 80;
    server_name barsite.*;

    location / {
        proxy_pass http://barsite;
        proxy_redirect off;
        proxy_buffering off;
        proxy_set_header        Host            $host;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
server {
    listen 80;
    server_name bazsite.*;

    location / {
        proxy_pass http://bazsite;
        proxy_redirect off;
        proxy_buffering off;
        proxy_set_header        Host            $host;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

以下是停顿:

1)此配置是否适用于多个顶级域名?像foosite.com,foosite.org,foosite.net等?

2)如何为所有这些网站启用子域名?例如test.foosite.com,admin.foosite.com没有让整个事情过于冗长?

3)看起来这个配置可以用更少的代码行编写,如何将所有3个上游定义合并为1,如何将3个服务器块合并为1?

提前致谢。

0 个答案:

没有答案