카테고리 없음

Apache와 Tomcat 연동: mod_jk 설치 및 설정 (버전 1.2.50 기준)

idea9329 2024. 11. 25. 22:41
반응형

 

mod_jk를 사용하여 Apache와 Tomcat을 연동하기 위한 최신 가이드를 제공합니다. tomcat-connectors-1.2.50 버전을 기준으로 작성되었습니다.


1. 필요한 패키지 설치

mod_jk 컴파일을 위해 개발 도구 및 라이브러리를 설치합니다.

sudo dnf groupinstall "Development Tools" -y
sudo dnf install httpd-devel apr-devel apr-util-devel -y

2. mod_jk 소스 다운로드 및 압축 해제

Apache 공식 사이트에서 최신 버전의 mod_jk 소스를 다운로드합니다.

cd /usr/local/src
wget https://downloads.apache.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.50-src.tar.gz
tar -xvf tomcat-connectors-1.2.50-src.tar.gz
cd tomcat-connectors-1.2.50-src/native

3. mod_jk 컴파일

mod_jk를 컴파일하고 Apache 모듈 디렉토리에 설치합니다.

./configure --with-apxs=/usr/bin/apxs
make
sudo make install
  • --with-apxs는 Apache의 apxs 바이너리 경로를 지정합니다.
  • 컴파일이 완료되면 mod_jk.so가 /etc/httpd/modules/에 설치됩니다.

4. Apache 설정

Apache 설정 파일을 수정하여 mod_jk를 활성화합니다.

httpd.conf 수정

Apache 설정 파일(/etc/httpd/conf/httpd.conf)을 열고 아래 내용을 추가합니다.

# Load mod_jk module
LoadModule jk_module modules/mod_jk.so

# JK Workers File
JkWorkersFile /etc/httpd/conf/workers.properties

# JK Log File
JkLogFile /var/log/httpd/mod_jk.log

# JK Log Level
JkLogLevel info

# JK Mount
JkMount /yourapp/* worker1
  • JkMount는 Apache로 들어오는 /yourapp/* 요청을 Tomcat으로 전달합니다.

5. workers.properties 파일 생성

workers.properties 파일을 생성하여 Tomcat과의 연결 정보를 설정합니다.

sudo vi /etc/httpd/conf/workers.properties

파일 내용:

# Define worker list
worker.list=worker1

# Define worker1 properties
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=1
worker.worker1.connection_pool_size=10
worker.worker1.connection_pool_timeout=600
worker.worker1.socket_keepalive=true
worker.worker1.socket_timeout=300

6. Tomcat 설정

Tomcat의 AJP 커넥터 설정을 확인하거나 활성화합니다.

server.xml 수정

Tomcat의 설정 파일(/path/to/tomcat/conf/server.xml)에서 AJP 커넥터 설정을 확인합니다.

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
  • 위 설정이 주석 처리되어 있다면 활성화하세요.

7. SELinux 설정 (선택 사항)

SELinux가 활성화된 경우 Apache와 Tomcat 간 통신을 허용합니다.

sudo setsebool -P httpd_can_network_connect on

8. Apache와 Tomcat 재시작

설정을 완료한 후 Apache와 Tomcat을 재시작합니다.

sudo systemctl restart httpd
/path/to/tomcat/bin/startup.sh

9. 테스트

브라우저에서 Apache URL을 통해 Tomcat 애플리케이션에 접근합니다.

http://your-server-ip/yourapp/

10. 로그 확인

오류가 발생하면 아래 로그 파일을 확인하세요.

  • Apache 로그: /var/log/httpd/error_log
  • mod_jk 로그: /var/log/httpd/mod_jk.log
  • Tomcat 로그: /path/to/tomcat/logs/

추가 옵션

  • 로드 밸런싱: 여러 Tomcat 인스턴스와 연동하려면 workers.properties에 추가 worker를 정의하고 설정하세요.
  • JkUnMount: 특정 요청 경로를 Tomcat으로 전달하지 않도록 설정할 수 있습니다.

위 단계를 따라 설정하면 Apache와 Tomcat이 mod_jk를 통해 연동됩니다. 문제가 발생하면 로그를 분석해 세부적인 오류를 확인하세요.

반응형