ロードバランサにきたリクエストをwebサーバー1とwebサーバー2へ振り分けできるようにする

まず、webサーバー2の設定をします。

webサーバー1と同じく、Nginxとphp-fpmのインストールまでします。

webサーバー2のIPアドレスへアクセス時の画像は以下のように背景を黄色にします。

f:id:free_programmer:20170212195650p:plain

 

 

次にwebのロードバランサにきたリクエストをwebサーバー1とwebサーバー2に流せるように設定します。

ちなみにNginxのロードバランシングの方法は以下の3種類があります。

1、ラウンドロビン

アプリケーションへのリクエストはラウンドロビンの形式で分配されます。何も設定していない時のデフォルトはラウンドロビンになります。

2、Least Connected

接続数が少ないサーバーに振り分ける方法。

3、IPハッシュ

同じIPアドレスからのアクセスを同じサーバーに振り分ける方法。サーバーが利用不可の場合を除いて常に同じサーバーに渡されることを保証します。なお、接続先のサーバーが利用不可の場合は他のサーバーに渡させる動きをします。

 

今回はラウンドロビンの設定にします。

/etc/nginx/にあるnginx.confのhttpブロックの中に以下を追加します。

upstream ロードバランサのIPアドレス{

        server webサーバー1のIPアドレス;

        server webサーバー2のIPアドレス;

    }

 

    server {

       listen 80;

       location / {

          proxy_pass http://ロードバランサのIPアドレス;

       }

    }

 

Nginxを再起動します。

sudo systemctl restart nginx.service

 

これで、http://ロードバランサのIPアドレスにアクセスすると交互にwebサーバー1の赤い画面とwebサーバー2の黄色い画面が表示されれば疎通成功です。

ちなみにwebサーバー2のNginxをstopさせるとwebサーバー1のみ表示されるようになり、サーバーが利用不可の時も問題なく生きてるサーバーへ振り分けられます。