mongrel_cluster&mod_proxy_balancer
一月くらい、自サイトをapache+mod_proxy_balancer+mongrel_clusterで運用してます。
最近さらに2つほど、アプリを追加してみました。
あんまりclusterの意味がない気がしますが、mongrelは各アプリ2つずつにしました。
2つがネームベースのバーチャルホストで、1つがサブディレクトリで動いてます。
両方やっても問題ないんですね。自分の中で、勝手に両方は出来ないのかなと思ってました。
今のところ問題なく動いてます。バーチャルホスト側アプリのコントローラ名に、サブディレクトリのアプリ名と同じのがあったりすると、やばそうな気がしますが。
/etc/httpd/conf.d/katahirado.conf
NameVirtualHost *:80 <VirtualHost *:80> ProxyPreserveHost On ServerName www.katahirado.jp ProxyRequests Off DocumentRoot /u/apps/katahirado/current/public <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / balancer://katahirado/ ProxyPassReverse / balancer://katahirado/ <Proxy balancer://katahirado/> BalancerMember http://127.0.0.1:8000 loadfactor=10 BalancerMember http://127.0.0.1:8001 loadfactor=10 </Proxy> </VirtualHost> <VirtualHost *:80> ProxyPreserveHost On ServerName vhost.katahirado.jp ProxyRequests Off DocumentRoot /u/apps/vhost/current/public <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / balancer://vhost/ ProxyPassReverse / balancer://vhost/ <Proxy balancer://vhost/> BalancerMember http://127.0.0.1:8004 loadfactor=10 BalancerMember http://127.0.0.1:8005 loadfactor=10 </Proxy> </VirtualHost> ProxyPass /subdir/ balancer://subdir/ ProxyPassReverse /subdir/ balancer://subdir/ <Proxy balancer://subdir/> BalancerMember http://127.0.0.1:8002/subdir loadfactor=10 BalancerMember http://127.0.0.1:8003/subdir loadfactor=10 </Proxy>
ログの設定とか関係なさそうなのは省略。
サブディレクトリ側のアプリはmongrel_cluster.ymlにprefixの記述を忘れないように。
--- prefix: /subdir cwd: /u/apps/subdir/current log_file: log/mongrel.log port: "8002" environment: production address: 127.0.0.1 pid_file: tmp/pids/mongrel.pid servers: 2
poundの方がお手軽ですね。
mod_railsもそのうち試したい。
そろそろ固定IP8個にステップアップしようかな。