본문 바로가기

WS & WAS/apache

Apache, Tomcat 연동하기

Apache Tomcat 연동

아파치와 톰캣은 연동하는 방법이 3가지가 있다.

 

가장 많이 사용하는 방식이 tomcat connector(mod_jk) 를 사용하는 방법이고

다른 하나는 mod_proxy를 사용하는 방법과

mod_proxy_ajp 를 사용하는 방법이있다.

 

mod_proxy 가 성능은 더 좋다고 하지만 친숙한 mod_jk 를 정리해보자

 

mod_jk 모듈이란?
AJP 프로토콜(웹 서버와 웹 어플리케이션 서버간에 통신을 할 때 사용되는 프로토콜) 을 사용해서

톰캣과 연동하기 위해 만들어진 모듈이다.

톰캣 홈페이지에서 tomcat-connector 를 다운로드해서 아파치 웹서버에 설치해주어야 한다.

 

서로 연동하려면 어떻게 설정하는지 봐보자

 

Apache 설정

 

mod_jk 모듈 설정

mod_jk 모듈을 설정해줘야한다.

httpd.conf 또는 httpd.conf 에서 참조하고 있는 곳에 mod_jk 관련 설정을 추가해준다.

 

LoadModule jk_module modules/mod_jk.so   #설치된 mod_jk.so 위치

<IfModule mod_jk.c>
JkWorkersFile "workers.properties 설정 파일 위치"
JkLogFile "mod_jk 로그 파일위치"
JkLogLevel error
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
</IfModule>

 

Virtual Host 설정하기

vHost 를 사용한다면 VirtualHost 내부에 JkMount 를 설정해준다.

JkMount 는 어떤 worker(톰캣)이 처리할지 결정하는 설정이다.

/* 는 모든 url의 요청을 의미한다.

<VirtualHost *:80>        
ServerName  test.com       
DocumentRoot /home/test        
JkMount /* tomcat
CustomLog       "로그 위치"   
ErrorLog        "로그 위치"
</VirtualHost>

 

 

workers.properties 파일 생성

 

연동할 톰캣의 정보를 담는다

# worker listworker.list=tomcat

worker.tomcat.reference=worker.template
worker.tomcat.host=localhost
worker.tomcat.port=8009

# worker 설정
worker.template.type=ajp13
worker.template.socket_connect_timeout=5000
worker.template.socket_keepalive=true
worker.template.connection_pool_minsize=0
worker.template.connection_pool_timeout=600
worker.template.reply_timeout=300000
worker.template.recovery_options=3

 

톰캣 설정

server.xml

 

기존 8080 으로 직접 들어오는 경우를 막아주고

<!-- <Connector URIEncoding="UTF-8" connectiontimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" server=" " maxPostZize="1-"/> -->

 

AJP 커넥터를 설정해준다.

<!-- Define an AJP 1.3 Connector on port 8009 -->
 
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" address="localhost"/>

 

'WS & WAS > apache' 카테고리의 다른 글

Apache 동작 방식  (0) 2021.08.17