会社ではUbuntuをローカルの開発機にして仕事をしています。
ローカルの場合はTomcatに直接アクセスして~ってやってましたが、
極力本番に近づけた方がいいかなと思ってApache経由でajpでやりくりしてみることにしました。
【UbuntuのApache】
Ubuntuのパッケージ管理でApacheを入れると、
・設定ファイルとかは ⇒ /etc/apache2/
・再起動とかは ⇒ /etc/init.d/apache2 xxx
・ログは⇒ /var/log/apache2
#てな具合になっています。普段仕事では/usr/local~とかなのでちょっと違和感ありますね。。
【Apacheの設定】
・使えるモジュールは⇒ /etc/apache2/mods-available
proxy.load
proxy_ajp.load
proxy_balancer.load
うぉ、全部入ってるじゃーんって事で、
↓こんなのズゴンって叩くだけでOK
====
a2enmod proxy proxy_ajp proxy_balancer
====
・設定ファイル
/etc/apache2/sites-available/default ってのに
DocumentRootの定義とかが書いてあるんですが、
そこに Proxyの情報を記載してあげます。
- バランサーマネージャーの画面用に
<Location /balancer-manager>
SetHandler balancer-manager
Allow from all ← お試しなので・・・
</Location>
- バランシング用に
ProxyPass /balancer-manager !
ProxyPass /hoge balancer://hoge/ stickysession=JSESSIONID timeout=10
あとは /etc/apache2/mods-available で、、
・proxy.conf を Allow from allにしたり(お試しなので…)
・proxy_ajp.confを作って AddOutputFilterByType DEFLATE とかやってやったりしつつ
↓8009ポートに向けて~的な。
BalancerMember ajp://localhost:8009/ loadfactor=10 route=hoge keepalive=On min=100 timeout=10 retry=20
【Tomcatの設定】
server.xmlはデフォルトだと8009ポートでajpをリスンするようになっているので特に対応不要です。
普通に startup.sh 叩いて上げるだけ。
ってことで↓Apache再起動してあげたら
/etc/init.d/apache2 restart
http://localhost/hoge でTomcatまでアクセスが行って、
http://localhost/balancer-manager でバランシングの設定が出来ます
意外とお手軽なもんですねぇ。
コメント