Railsをthinで複数起動してApacheでロードバランス

thin のインストール

gem install thin

対象のrailsアプリの Gemfile に以下を追記

gem 'thin'

gemインストール

bundle install --path vendor/bundle

起動 (ポート8001〜8005 まで使ってプロセスを5つ起動する)

thin start -e development -p 8001 -s 5 -d

停止

thin stop -e development -p 8001 -s 5

Apacheでロードバランスの設定

  .
  .

LoadModule proxy_module path_to/mod_proxy.so
LoadModule proxy_http_module path_to/mod_proxy_http.so
LoadModule proxy_balancer_module path_to/mod_proxy_balancer.so

  .
  .

<VirtualHost *:80>

    .
    .

    ProxyPreserveHost On
    ProxyRequests Off 

    <Proxy *>
    Order deny,allow
    Allow from all 
    </Proxy>

    # rails側で force_ssl にした railsアプリの場合、リダイレクトがループしてしまうのでこの設定も入れておく
    RequestHeader set X_FORWARDED_PROTO 'https'

    ProxyPass / balancer://rails/
    ProxyPassReverse / balancer://rails/
    <Proxy balancer://rails/>
        BalancerMember http://localhost:8001 loadfactor=10
        BalancerMember http://localhost:8002 loadfactor=10
        BalancerMember http://localhost:8003 loadfactor=10
        BalancerMember http://localhost:8004 loadfactor=10
        BalancerMember http://localhost:8005 loadfactor=10
    </Proxy>

</VirtualHost>

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-08-31 (日) 17:49:04 (3523d)