Ubuntu 16.04
Sponsored Link

Nginx : リバースプロキシの設定#3
2016/07/07
 
Nginx での負荷分散を加えたリバースプロキシの設定です。ロードバランサーとして利用できます。
(1) www.srv.world      [10.0.0.31]   - Nginx サーバー
(2) node01.srv.world   [10.0.0.51]   - バックエンド Web サーバー#1
(3) node02.srv.world   [10.0.0.52]   - バックエンド Web サーバー#2
(4) node03.srv.world   [10.0.0.53]   - バックエンド Web サーバー#3
[1] (1) のサーバーへのリクエストをバックエンド Web サーバーへ負荷分散をするように設定します。
root@www:~#
vi /etc/nginx/nginx.conf
# http セクション内に追記

# backup を指定すると、backup 以外が通信不能な場合のみバランシング

# weight=* で重み付け (weight=3 の場合, 指定無サーバーと 3:1 の割合でバランシング)

http {
    upstream backends {
        server node01.srv.world:80 weight=3;
        server node02.srv.world:80;
        server node03.srv.world:80 backup;
    }

root@www:~#
vi /etc/nginx/sites-available/default
# server セクション内を以下のように変更

    server {
        listen      80 default_server;
        listen      [::]:80 default_server;
        server_name www.srv.world;

        proxy_redirect           off;
        proxy_set_header         X-Real-IP $remote_addr;
        proxy_set_header         X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header         Host $http_host;

        location / {
            proxy_pass http://backends;
        }
    }

root@www:~#
systemctl restart nginx

  任意のクライアントからフロント の Nginx サーバーへアクセスして動作を確認してください。
 
Tweet