apacheとtomcatを連動させるにはモジュール(connector)を利用します。
いくつかのモジュールが存在しますが、基本的に一番使われているものは
- mod_ajp
- mod_jk
AJPコネクタの利用は、Apache 2.2系が必要になります。(2.0以前ではmod_jkモジュールを利用)
apache2+tomcatインッストール
sudo apt-get install apache2
sudo apt-get install tomcat7
sudo apt-get install tomcat7-admin
プロジェクト作成
cd /var/lib/tomcat7/webapps
sudo mkdir tomcat-demo
sudo mkdir tomcat-demo/helloworld
sudo vim tomcat-demo/helloworld/index.jsp
mod_jkインストール+設定
#インストール
sudo apt-get install libapache2-mod-jk
sudo vim /etc/tomcat7/server.xml
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
#workers設定
sudo vim /etc/apache2/workers.properties
# Define 1 real worker using ajp13
worker.list=worker1
# Set properties for worker (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
#連動させる
sudo vim /etc/apache2/mods-available/jk.conf
apacheのvirtualHost
<VirtualHost *:80>
.......................................
JkMount /tomcat-demo* worker1
</VirtualHost *:80>
- http://thetechnocratnotebook.blogspot.jp/2012/05/installing-tomcat-7-and-apache2-with.html
- http://www.kkaneko.com/rinkou/tomcat/jk.html
必要なツールのインストール
sudo apt-get install apache2
sudo apt-get install tomcat7
基本的にajpモジュールはデフォルトで入っています。linuxのdistributionによって無効になっている可能性もあります ↓
#httpd.conf
↓コメントアウトします
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
Apacheのhttpd.confに設定を行います
<VirtualHost *:80>
ServerName www.yourhost.com
ProxyPass /tomcat/ ajp://localhost:8009/
ProxyPass /examples/ ajp://localhost:8009/jsp-examples/
</VirtualHost>