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 |
---|