[AWS] Apache - Tomcat 연동하기 (mod_jk)
- 모든 작업은 apache 웹서버에서 작성합니다.
- wget 설치
yum install wget
- tomcat connector 설치
sudo wget https://dlcdn.apache.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz
- 압축해제
sudo tar xvfz tomcat-connectors-1.2.46-src.tar.gz
- configure을 사용하여 설치하면 될 것으로 추측 (주석 설명)

- apxs 경로 탐색
find / -name apxs
- 설치 진행
cd /usr/share/httpd/tomcat-connectors-1.2.48-src/native
sudo ./configure --with-apx={apache apxs 경로}
- 정상적으로 make 파일이 생성되었다면 make 파일로 컴파일하고, make install로 설치
sudo make && make all
- centos 7 기준 완료
- modules 내부 jk_mod.so 파일 확인
# 경로가, apache modules가 아니면, 옮겨주자.
find / -name jk_mod.so
- https.conf 설정 (mod_jk.conf 인클루드 추가)
# 적절한 위치에 추가
LoadModule jk_module modules/mod_jk.so
# mod_jk의 설정을 위해서, 다른 파일을 include 작성
# 위에서 추가한, 모듈명과 같아야 함 (jk_module)
<IfModule jk_module>
Include conf/mod_jk.conf
</IfModule>
- mod_jk.conf 작성
vi [apache_home]/conf/mod_jk.conf
아래처럼 작성.
<IfModule mod_jk.c>
# workers.properties 파일의 위치를 지정
# worker란 들어온 요청을 처리하기 위한 톰캣 인스턴스
JkWorkersFile conf/workers.properties
# mod_jk 로그파일 위치를 지정
JkLogFile logs/mod_jk.log
# 로그레벨을 지정 [debug/error/info]
JkLogLevel info
# 로그에 출력되는 시간 포멧을 지정
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
# 아파치로 부터 들어오는 요청에 대해서 Url 패턴별로 workers.properties에
# 정의한 worker에게 매핑시키는 설정을 지정
JkMountFile conf/uriworkermap.properties
</IfModule>
- Apache 재시작
service httpd restart
- Apache 로그 조회

# /var/log/httpd 경로에서 로그 조회
tail -f error_log
- 오류 발생 시

# SELinux 설정 변경
chcon -u system_u -r object_r -t httpd_modules_t /etc/httpd/modules/mod_jk.so
# 설정적용
setenforce 0
Apache 연동의 경우
- Apache 서버에서 ping으로 톰켓 접속 시 오류 발생.
- tomcat에서 아파치 연동 시, 8009 포트를 사용하며 기본은 닫힘
- 아래와 같이 설정
# 위치 : {tomcat_home}/conf/server.xml
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector protocol="AJP/1.3"
address="0.0.0.0"
secretRequired="false"
port="8009"
redirectPort="8443" />
오류 해결법
반응형
댓글