개요
이번 글에서는 오픈소스 WEB/WAS의 대표 주자인 Apache HTTPD와 Apache Tomcat을 연동하는 방법을 설명한다.
Apache와 Tomcat이 설치되어있다는 전제 하에 진행되므로 미리 설치를 해놓자.
연동 환경은 다음과 같다.
- OS : CentOS 6.7
- Apache Version : Apache 2.4.41
- Tomcat Version : Apache Tomcat 9.0.30
- Connector Version : JK 1.2.48
연동 전 준비사항
Apache와 Tomcat을 연동하기 위해서는 전용 모듈인 mod_jk 모듈이 필요하다.
해당 모듈은 아래의 경로에서 받을 수 있다.
리눅스 기반에서 진행되므로 tar.gz로 압축된 파일을 받자.
https://tomcat.apache.org/download-connectors.cgi
mod_jk 컴파일
다운로드한 tomcat connector 1.2.48 파일의 압축을 해제하고 생성된 디렉터리안의 native 디렉터리로 이동한다.
해당 위치에서 아래의 명령을 실행한다.
./configure --with-apxs=아파치설치경로/bin/apxs
필자의 경우에는 ./configure --with-apxs=/apache24/bin/apxs 였다.
Configure 후 make && make install 명령을 통해 컴파일을 마무리한다.
컴파일 후 mod_jk.so 모듈이 생성되었는지 확인하려면 Apache 설치 경로의 modules 디렉터리를 확인한다.
workers.properties 파일 생성
httpd.conf를 설정하기 전에 먼저 workers.properties 파일을 생성해야 한다.
workers.properties는 Apache와 연동할 Tomcat의 정보 및 관련 파라미터 값을 설정하는 파일이다.
아파치설치경로/conf 디렉터리에 vi workers.properties 명령으로 파일을 생성하고 아래의 내용을 입력한다.
worker.list=worker1 | 연동할 Tomcat의 별칭 |
worker.worker1.type=ajp13 | worker1에서 사용할 프로토콜 (ajp13 프로토콜이 기본값) |
worker.worker1.host=localhost | worker1의 IP 주소 또는 호스트명 (WEB/WAS가 같은 서버에 있으므로 loclahost) |
worker.worker1.port=8009 | worker1의 AJP 포트번호 (8009번 포트가 기본값) |
httpd.conf 설정 추가
httpd.conf 파일 하단에 아래의 내용을 추가한다.
LoadModule jk_module modules/mod_jk.so
-> mod_jk.so 모듈을 사용하기위해 적재
<IfModule jk_module>
</IfModule>
-> jk_module이 적재되어 있는 동안에만 해당 설정을 적용
JkWorkersFile conf/workers.properties
위에서 생성한 workers.properties 파일의 경로를 설정
JkLogFile logs/mod_jk.log
연동에 관련된 로그파일이 생성될 경로를 설정
JkLogLevel info
로그 파일의 레벨을 설정
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
로그 내용의 각 라인 앞에 찍히는 스탬프의 형식을 설정
JkMount /* worker1
Apache HTTPD로 들어오는 요청을 worker1로 전송
연동 테스트
현재 Apache HTTPD는 80, Tomcat은 8080 포트를 사용 중이다.
정상적으로 연동되었다면 80번 포트로 접속 시 Apache가 8009번 포트를 통해 Tomcat으로 Request를 전달한다.
웹브라우저에 서버 IP를 입력하여 접속해보자.
IP에 :8080을 붙이지 않고 80번 포트로 접속했을 때 Tomcat의 기본 인덱스 화면이 표시되는 것을 볼 수 있다.
이로써 Apache HTTPD와 Apache Tomcat을 연동하는 방법에 대해서 알아보았다.
'WebServer | WAS > Apache' 카테고리의 다른 글
Apache HTTPD to Tomcat, 로드 밸런싱(Load Balancing) (0) | 2020.06.09 |
---|---|
Apache 메인 설정 파일 httpd.conf의 설정 요소 (0) | 2019.09.20 |
httpd 옵션 (0) | 2019.09.18 |
apachectl 옵션 (0) | 2019.09.18 |
[CentOS 6] 아파치(Apache) 컴파일 설치 (0) | 2019.09.18 |