Poundすごく萌えた

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

Poundすごく萌えた