-
apache+mod_proxy_balancer+mongrelでRailsを動かす方法 2007-12-22 08:29:32
kaeruspoonは今までLighttpd+FastCGIで動かしていましたが、OSをcentOSからDebianに移したのを契機に、apache+mod_proxy_balancer+mongrelで動かすことにしました。
まずはapacheとmongrel、mongrel_clusterのインストールから。sudo aptitude install apache2 sudo gem install mongrel --include-dependencies sudo gem install mongrel_cluster --include-dependencies
それからmod_proxyとmod_proxy_balancerを有効にします。
a2enmod proxy a2enmod proxy_balancer
そして/etc/apache2/mods-available/proxy.confの設定。
<VirtualHost *> ServerName www.kaeruspoon.net <IfModule mod_proxy.c> <Location /balancer-manager> SetHandler balancer-manager Order deny,allow Deny from all Allow from 192.168.0 </Location> ProxyRequests Off <Proxy *> Order deny,allow allow from all </Proxy> proxyPass / balancer://mycluster/ ProxyPassReverse / balancer://mycluster/ <Proxy balancer://mycluster> BalancerMember http://192.168.0.1:3000 loadfactor=10 keepalive=On BalancerMember http://192.168.0.1:3001 loadfactor=10 keepalive=On BalancerMember http://192.168.0.1:3002 loadfactor=10 keepalive=On </Proxy> </IfModule> </VirtualHost>こんな感じ。詳しいことはあちこちでいろんな人が書いているのでそちらを参考に。ぼくは見よう見まねでやっいてるだけです。
proxyPass / balancer://mycluster/ のところは最後のスラッシュがあったりなかったりするだけで動作が変わってきたりするのでハマりどころでした。
それからmongrel_clusterの設定。
mongrel_rails cluster::configure -e production -p 3000 -N 3
これでRailsアプリがproductionモードで、ポート番号3000, 3001, 3002の3つのプロセスで立ち上がる設定が完了です。あとは、
mongrel_rails cluster::start
とやれば、設定どおりにRailsアプリが3つ起動します。
とめるときは、mongrel_rails cluster::stop
でOK。

コメント(
リンク元(965)