Nginx1.9のTCP Load BalancingをMacで試してみた
やってみたかったので試してみました!
HomebrewでNginx1.9をインストール
デフォルトでのnginxではなく、nginx-fullの方をインストールしました(brew tap homebrew/nginx
が必要)
brew install nginx-full --devel --with-stream
nginx.confの設定
/usr/local/etc/nginx/nginx.conf
に設定ファイルがあるはず。
編集します。
worker_processes auto; events { worker_connections 1024; } stream { server { listen 12345; proxy_pass backend; } upstream backend { server 127.0.0.1:7777; server 127.0.0.1:8888 weight=5; } }
weight=5なので、大抵8888に行くけど、たまに7777に行くと予想。
バックエンドのHTTPサーバを準備
何でもいいのですが、パッと思いついたnpmモジュールのhttp-server
を使うことにしました。
npm i -g http-server http-server -p 7777 http-server -p 8888 # ↑と別シェルで動かす
Nginx起動
コチラの記事で知ったbrew services
で起動させてみました。
brew tap homebrew/services # 初回 brew services start nginx-full
こりゃ便利だ。
ブラウザでlocalhost:12345にアクセス
表示されました!
が、8888にしかアクセスが行かないような。
8888を落とすと、7777に行くようになりました。
まとめ
一旦はここまで。引き続き調べる。