大nginxで構築するリバースプロキシとロードバランサどうも、開発2部でサーバ担当してる山本です。今回nginxでリバースプロキシとロードバランサを構築したのでその内容を紹介したいと思います。今回はそのクラウド上に環境を構築しました。異なるドメインのリクエストをそれぞれのwebサーバに振り分けます。実際の現場でも社内にある開発用のVMを公開する際にリバースプロキシを使って環境の切り分けを行っています。webサーバの設定yumでhttpdをインストールし、ワーニングを取り除いて起動します。2台のwebサーバとも同じ手順で構築し、それぞれweb01,web02とします。/etc/httpd/conf/httpd.confServerNameがデフォルトだとワーニングが出るのでとりあえず設定します。startリバースプロキシの設定nginxをインストールし、各webサーバへの振分けの設定を行います。http://172.18.0.132/;}}webサーバへの振分けの設定です。test1.otwo-study.comでアクセスされたらweb01(172.18.0.105)へ、test2.otwo-study.comでアクセスされたらweb02(172.18.0.132)へという内容です。proxy_set_headerはバックエンドのwebサーバに接続元のIP等の情報を引き渡すための設定です。default;test1.otwo-study.com、test2.otwo-study.com以外でアクセスされた場合のデフォルト挙動を設定します。/etc/nginx/conf.d/default.conf;rev_proxy.confとdefault.confだけを明示的にincludeします。今回は勉強会のためだけなので、クライアントのhostsファイルを編集して名前解決を行います。クライアントがwindowsなので、C:\Windows\System32\drivers\etc\hostsに追記します。test2.otwo-study.comxxx.xxx.xxx.xxxはリバースプロキシのグローバルIPになります。リバースプロキシの動作確認ここまでの設定が上手くいっていれば以下の挙動になるはず。リバースプロキシのグローバルIPでアクセスするとリバースプロキシ上のnginxのwelcomeページが表示されるtest1.otwo-study.comでアクセスするとweb01のapacheのwelcomeページが表示される(webサーバのaccess_logをtailで確認)test2.otwo-study.comでアクセスするとweb02のapacheのwelcomeページが表示される(webサーバのaccess_logをtailで確認)ロードバランサリバースプロキシの続きでロードバランサを構築しました。同一ドメインのリクエストをweb01,web02にラウンドロビンで振り分けます。ロードバランサの設定nginxの設定ファイルでロードバランサの設定を行います。http://balance-otwo-study/;}}upstreamで振分け対象のサーバを定義しています。デフォルトは均等なラウンドロビンですが、サーバ毎の重み付けや、ipのハッシュ値、接続数、セッションなどによる振分けが可能です。/etc/nginx/conf.d/balance.conf;balance.confをincludeします。先ほどと同じくクライアントのhostsファイルを編集して名前解決を行います。balance.otwo-study.comロードバランサの動作確認ここまでの設定が上手くいっていればbalance.otwo-study.comでアクセスするとweb01とweb02にラウンドロビンでリクエストが振り分けられます。(webサーバのaccess_logをtailで確認)全部同じ画面で見た目分からないですけど、ちゃんと動いてます^^;nginx楽チンっすね!!オーツーではこんな感じで毎週1時間程度、勉強会を開催しています。WHを使ってSES...2019/3/29PHPExcelでファイル作成から値の取得2018/3/22メニューを閉じるCONTACTゲーム開発、Webサイト制作に関するご相談等ございましたら、お気軽にお問い合わせください。