Apache + mod_proxy_balancer + mongrel_cluster のApacheの設定
Apacheの設定について、忘れないようにメモ。
ちなみに環境は、こんなです。
・CentOS 5.1
・Apache 2.2.3
・mongrel_cluster 1.1.4(たぶん)
・mongrel 1.0.5(たぶん)
Apacheのmod_proxyとmod_proxy_balancerは使えるのが前提で。2.2以上だったら、たぶん大丈夫そう。
mongrel_clusterも動くようにしてあるってことで。
1./etc/httpd/conf/proxy.confを下記の内容で作成する
とりあえず↓は基本的にはオフにするみたい
ProxyRequests Off
↓も今のとこはあまり気にせず・・とりあえず書いておく。
たぶん、Deny from all とAllow from 192.168.xx.xxみたいにすれば、ここにアクセスできるIPを限定できるものだと思う。
Order deny,allow
Allow from all
で、次。↓で1行目の最初のスラッシュが、http://xxx.xx.com/ とかのこと(xxx.xx.comの部分は、設定によります。要はApacheのURL)。ここに、例えば、/sample/ とか書けば、http://xxx.xx.com/sample/ のこと。
そこへのアクセスを、balancer://mongrel_cluster/に読み替える。
2行目のは、よく分かりません。。とりあえず1行目と同じのを書いておく。
で、さっき読み替えた部分(balancer://mongrel_cluster/)が↓の一行目に出てくる。
こう書くことで、http://xxx.xx.com/にアクセスがあると、BalancerMemberに設定したURLにアクセスすることになる(ここでは、Apacheと同じサーバにmongrel_clusterで3つ作成している状態)。
loadfactorはアクセスされる優先順位みたい。とりあえず今は全部同じにしておいた。
BalancerMember http://127.0.0.1:4000 loadfactor=10
BalancerMember http://127.0.0.1:4001 loadfactor=10
BalancerMember http://127.0.0.1:4002 loadfactor=10
最低限必要なのはたぶん↑まで。
で、追加で↓を書けば、http://localhost/balancer-managerにアクセスすることで、バランサの管理ができるみたいだけど、まだ使ってはない。。とりあえず、書いておいた。
2.proxy.confの取り込み
基本的なことなのだと思うけど、エンジニア素人な自分はこれで1時間くらい悩んだ・・
/etc/httpd/conf/httpd.confの中に↓を書かないと、proxy.confが機能しないみたい。
Include conf/proxy.conf
3.APACHEの再起動
で、↓のコマンドで再起動すれば、とりあえず使えるようになるはず。
# /etc/rc.d/init.d/httpd restart
細かいところは、まだまだいろいろ勉強しないと。