nugawiki

./categories/server

Apache Tomcat mod_jk 연동

업데이트 2026-07-21 조회수

역할

Apache(Web)=정적, Tomcat(WAS)=동적. 연동: mod_jk / mod_proxy / mod_proxy_ajp.

흐름(mod_jk): Client→Apache(80) → 동적은 AJP(8009)→Tomcat → Apache→Client

mod_jk 설치

yum install gcc gcc-c++ httpd-devel
# connectors: https://tomcat.apache.org/download-connectors.cgi
tar zxvf tomcat-connectors-*.tar.gz
cd tomcat-connectors-*/native
./configure --with-apxs=/usr/bin/apxs   # 또는 /usr/sbin/apxs
make && make install

httpd.conf

LoadModule jk_module modules/mod_jk.so

VirtualHost

<VirtualHost *:80>
ServerName localhost
JkMount /*.jsp tomcat
JkMount /*.json tomcat
JkMount /*.xml tomcat
JkMount /*.do tomcat
</VirtualHost>

conf.modules.d/mod_jk.conf

<IfModule mod_jk.c>
JkWorkersFile conf/workers.properties
JkShmFile run/mod_jk.shm
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%y %m %d %H:%M:%S] "
</IfModule>

workers.properties

worker.list=tomcat
worker.tomcat.port=8009
worker.tomcat.host=localhost
worker.tomcat.type=ajp13
worker.tomcat.lbfactor=1

Apache·Tomcat 재시작 후 8080 직접 vs 80 경유가 동일하면 성공.

점검

  • ROOT Context: conf/Catalina/localhost/ROOT.xml
<Context docBase="/home/<user>/www" debug="0" privileged="true" reloadable="true"></Context>
  • SELinux: chcon -u system_u -r object_r -t httpd_modules_t /etc/httpd/modules/mod_jk.so
  • VirtualHost 충돌 여부

./comments