설치가능한 패키지 확인
아래의 명령어를 입력하여 'mod_jk(톰캣 커넥터, Tomcat Connectors)' 패키지를 RHEL(Red Hat Enterprise Linux)에 설치할 수 있는지 확인한다.
yum list | grep mod_jk
톰캣 커넥터 모듈 설치
아래의 명령어를 입력하여 'mod_jk' 패키지를 설치한다.
yum install mod_jk
아래의 명령어를 입력하여 'mod_jk' 모듈이 아파치 웹 서버(Apache Web Server, HTTPD)에 잘 설치되었는지 확인한다.
ls /etc/httpd/modules/ | grep mod_jk
톰캣 커넥터 등록
아래의 명령어를 입력하여 설정 파일을 복사한다.
cp /etc/httpd/conf.d/mod_jk.conf.sample /etc/httpd/conf.d/mod_jk.conf
아래의 명령어를 입력하여 톰캣 커넥터 정보를 수정한다.
vi /etc/httpd/conf.d/mod_jk.conf
아래의 정보를 참고하여 상화엥 맞게 톰캣 커넥터 정보를 등록한다.
# Load mod_jk module
# Specify the filename of the mod_jk lib
LoadModule jk_module modules/mod_jk.so
# Where to find workers.properties
JkWorkersFile conf.d/workers.properties
# Where to put jk logs
JkLogFile logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
# JkOptions indicates to send SSL KEY SIZE
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat
JkRequestLogFormat "%w %V %T"
# Mount your applications
# JkMount /application/* loadbalancer
# You can use external file for mount points.
# It will be checked for updates each 60 seconds.
# The format of the file is: /url=worker
# /examples/*=loadbalancer
JkMountFile conf.d/uriworkermap.properties
# Add shared memory.
# This directive is present with 1.2.10 and
# later versions of mod_jk, and is needed for
# for load balancing to work properly
JkShmFile /var/cache/httpd/mod_jk/jk.shm
톰캣 등록
아래의 명령어를 입력하여 설정을 복사한다.
cp /etc/httpd/conf.d/workers.properties.sample /etc/httpd/conf.d/workers.properties
아래의 명령어를 입력하여 아파치 웹 서버에 톰캣 정보를 등록한다.
vi /etc/httpd/conf.d/workers.properties
아래의 내용을 참고하여 상황에 맞게 톰캣 정보를 등록한다.
# An entry that lists all the workers defined
#worker.list=worker1,worker2
worker.list=worker1
# Entries that define the host and port associated with these workers
worker.worker1.host=127.0.0.1
worker.worker1.port=8009
worker.worker1.type=ajp13
#worker.worker2.host=IP_TO_SET_2
#worker.worker2.port=AJP_PORT_2
#worker.worker2.type=ajp13
URI 등록
아래의 명령어를 입력하여 설정 파일을 복사한다.
cp /etc/httpd/conf.d/uriworkermap.properties.sample /etc/httpd/conf.d/uriworkermap.properties
아래의 명령어를 입력하여 아파치 웹 서버가 톰캣으로 넘겨줄 URI 정보를 입력한다.
vi /etc/httpd/conf.d/uriworkermap.properties
아래의 내용을 참고하여 상황에 맞게 URI 정보를 입력한다.
# Mapping test
#/testapp1=worker1
#/testapp1/*=worker1
#/testapp2=worker2
#/testapp2/*=worker2
/*=worker1
톰캣 커넥터 등록
아래의 명령어를 입력하여 호스트 정보를 수정한다.
vi /etc/httpd/conf.d/ssl.conf
아래의 내용을 참고하여 어떤 HTTP 요청일 때 톰캣으로 넘겨줄지를 정한다.
<VirtualHost *:443>
...
JkMount /* worker1
JkMount / worker1
</VirtualHost>
톰캣 커넥터 생성
아래의 명령어를 입력하여 톰캣 커넥터를 설정한다.
vi /opt/tomcat/conf/server.xml
아래의 내용과 사진을 참고하여 톰캣 커넥터를 생성한다.
<Connector protocol="AJP/1.3"
address="127.0.0.1"
secretRequired="false"
port="8009"
redirectPort="8080"
maxParameterCount="1000"
/>
권한 설정
아래의 명령어를 입력하여 톰캣 커넥터 연결 권한을 설정한다.
chcon -u system_u -r object_r -t httpd_modules_t /etc/httpd/modules/mod_jk.so
SELinux 설정
아래의 명령어를 입력하여 아파치 웹 서버가 네트워크 연결을 사용할 수 있도록 설정한다.
setsebool -P httpd_can_network_connect=1
아파치 재시작
아래의 명령어를 입력하여 위에서 수정한 설정이 반영되도록 아파치 웹 서버를 재시작한다.
systemctl restart httpd
톰캣 재시작
아래의 명령어를 입력하여 위에서 수정한 설정이 반영되도록 톰캣을 재시작한다.
systemctl restart tomcat
참고문서
- "아파치 웹 서버(apache httpd) 와 톰캣 연동하기 - tomcat connector(mod_jk) , reverse proxy(mod_proxy)", lesstif. @원문보기
- "Chapter 2. Apache Tomcat Connector (mod_jk)", 레드햇 고객 포털. @원문보기
- "How to install mod_jk and mod_cluster module for RHEL 7 Apache httpd?", 레드햇 고객 포털, 2022년 9월 16일. @원문보기
- "mod_jk versions supported by Red Hat", 레드햇 고객 포털, 2023년 4월 30일. @원문보기
- "Tomcat Connectors (mod_jk) Downloads", 아파치 톰캣 공식 홈페이지. @원문보기
- "[RHEL 9] 아파치 웹 서버 설치", 공학코드, 2023년 7월 26일. @원문보기
- "[RHEL 9.2] 톰캣(Tomcat) 설치", 공학코드, 2023년 7월 30일. @원문보기
'리눅스(Linux) > Red Hat' 카테고리의 다른 글
[RHEL 9] PostgreSQL 15 설치 (0) | 2023.07.31 |
---|---|
[RHEL] Tomcat Connector(AJP, mod_jk)에서 'secret' 보안 오류 해결 방법 (2) | 2023.07.31 |
[RHEL 9.2] 톰캣(Tomcat) 설치 (0) | 2023.07.30 |
[RHEL] SELinux 상태 확인 명령어 (0) | 2023.07.29 |
[RHEL] OpenJDK 17(자바, Java) 설치하기 (0) | 2023.07.27 |
댓글