なっく日報

技術やら生活やらのメモ

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起動

qiita.com

コチラの記事で知ったbrew servicesで起動させてみました。

brew tap homebrew/services # 初回
brew services start nginx-full

こりゃ便利だ。

ブラウザでlocalhost:12345にアクセス

表示されました!

が、8888にしかアクセスが行かないような。

8888を落とすと、7777に行くようになりました。

まとめ

一旦はここまで。引き続き調べる。