ReverseProxy と LoadBalancing してくれるPoundを使ってみた。複数ドメイン、複数Railsアプリを同一サーバで動かすのにすごく便利。
SSLのインストール(SSLを使用する時のみ)
OpenSSLから最新版を落とす。おなじみの
$ ./configure $ make # make install
でインストールを完了する。Debianだと、/usr/local/ssl にインストールされる模様。どこにインスコされたか分からなかったときは、
$ whereis ssl
ってやれば出るよ。
Poundのインストール
Poundから、ソースをダウンロード。SSLを使う場合は、--with-ssl=ssl_dir
で設定する。使わない場合、このオプションは不要。
$ ./configure --with-ssl=/usr/local/ssl $ make # make install
とすれば、インストール完了。
Poundの設定
デフォルトの設定ファイルは、以下の場所にある。ない場合は自分で作成する。
/usr/local/pound.cfg
1,2行目はPoundを動かす人。rootは避けたほうがいいと。
以下の設定で、sample1.com にきたアクセスを 3000番ポートへ、 sample2.com に来たアクセスを 3001番ポートへ転送できる。違うRailsアプリが同じサーバで動きます。他にApacheとか動かしとけば、静的なコンテンツは全部そっちでさばけます。これはいい…
User "www-data" Group "www-data" LogLevel 1 Alive 30 ## use hardware-accelleration card supported by openssl(1): #SSLEngine###################################################################### ## listen, redirect and ... to: ## redirect all requests on port 8888 ("ListenHTTP") to the local webserver see "UrlGroup" below): #127.0.0.1,8080 ListenHTTP Address 192.168.1.100 Port 80 xHTTP 2 Service HeadRequire "Host: sample1.com" BackEnd Address 127.0.0.1 Port 3000 End End Service HeadRequire "Host: sample2.com" BackEnd Address 127.0.0.1 Port 3001 End End End
すごくためになったサイト recompile.net