Skip to content

Instantly share code, notes, and snippets.

@i-amolo
Forked from canujohann/apache-tomcat.md
Created November 26, 2019 13:00
Show Gist options
  • Save i-amolo/0494086e8327c27b915ff60597198438 to your computer and use it in GitHub Desktop.
Save i-amolo/0494086e8327c27b915ff60597198438 to your computer and use it in GitHub Desktop.
Tomcat+Apacheの連動

TOMCAT-APACHEの連動

apacheとtomcatを連動させるにはモジュール(connector)を利用します。

alt text

いくつかのモジュールが存在しますが、基本的に一番使われているものは

  1. mod_ajp
  2. mod_jk

AJPコネクタの利用は、Apache 2.2系が必要になります。(2.0以前ではmod_jkモジュールを利用)

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>
参考リンク

mod_ajp

必要なツールのインストール

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>
参考リンク
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment