UbuntuでApache2とTomcat6の接続(proxy, proxy_ajp, proxy_balancer)

会社では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 でバランシングの設定が出来ます
 
意外とお手軽なもんですねぇ。

コメント

タイトルとURLをコピーしました