본문 바로가기
OS/Linux

mod_jk를 통한 WEB-WAS연동

by BTC_DIGIMON 2022. 8. 19.

안녕하세요!! 임오군란과 민씨의 임입니다.

 

오늘은 WEB-WAS 연동을 위한 mod_jk에 대해 알아보도록 하겠습니다🐬

차례는 아래와 같습니다.

 


1. WEB과 WAS를 연동하는 이유

2. Mod_jk란?

3. Mod_jk 설치

4. Mod_jk 설정 및 vhost설정


자 그럼 시작하겠습니다.

 


1. WEB과  WAS를 연동하는 이유

- apache를 사용하여 TOMCAT보다 빠른 정적 데이터를 로드

- apache의 다양한 모듈 사용 가능

- 부하 방지와 장애 극복

- WAS의 직접적인 노출을 피해 DB 해킹을 방지

- 하나의 WEB에 여러 WAS 서버를 운영

 

  • 다만, Tomcat은 과거에 정적인 데이터를 처리할 때 apache보다 느린 속도와 성능을 가졌지만 현재는 Tomcat 5.5 버전 이후 Apache native library를 지원하면서 정적인 데이터를 APACHE와 동일한 성능으로 사용할 수 있습니다.
  • 이러한 배경 때문에 apache WEB서버를 정적 데이터 처리 용도만으로 사용하는 경우 오히려 불필요한 부하만 발생하게 됩니다.

2. mod_jk란?

 

 

mod_jk는 apache와 tomcat을 연동하기 위한 모듈로 AJP 프로토콜을 이용하여 apache에 들어오는 요청 중 tomcat이 처리할 요청을 AJP 포트를 통해 tomcat에 전달하고 그에 대한 응답을 받는 역할을 수행합니다.

 

장/단점

장점 - JkMount 옵션을 이용하면 URL이나 컨텐츠별로 유연한 설정이 가능합니다.

단점 - 별도의 모듈 설치가 필요하고 설정이 어렵습니다. 또한 Tomcat 전용이며 AJP포트 개방이 필요합니다.

 


3. Mod_jk 설치

<자바 JDK설치>
sudo yum install java-1.8.0-openjdk

<mod_jk설치>
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.58/bin/apache-tomcat-9.0.58.tar.gz

<파일 이동>
mv tomcat-connectors-1.2.48-src /usr/local/src

<mod_jk에 필요한 빌드 유틸 설치>
yum install autoconf libtool gcc gcc-c++ httpd-devel -y

<빌드 진행>
cd /usr/local/src/tomcat-connectors-1.2.48-src/native/
./buildconf.sh
./configure --with-apxs=/usr/bin/apxs
make && make install

<설치된 mod_jk확인>
cd /etc/httpd/modules
ls

 


4. mod_jk 수정 및 vhost 설정

 

workers.properties 생성_vhost설정

vim workers.properties

#해당 내용 그대로 작성

worker.list=was1

worker.was1.port=8009
worker.was1.host=(was서버의주소)
worker.was1.type=ajp13

꼭 작성 후 :wq로 저장하시기 바랍니다!!

 

 

httpd.conf 수정

vim httpd.conf

#하단에 내용 추가

LoadModule jk_module modules/mod_jk.so

<IfModule mod_jk.c>

  JkWorkersFile conf/workers.properties

  JkLogFile logs/mod_jk.log
  JkLogStampFormat "[%y %m %d %H:%M:%S]"

  JkMount /* was1

</IfModule>

* JkWorkerFile을 workers.properties로 지정

* JkLogFile을 mod_jk.log로 지정

* JkLogStampFormat을 "연 월 일 시:분:초" 형태로 지정

* JkMount하여 was1에서 모든 처리를 하도록 지정

   - JkMount 옵션을 /*. jsp, /*. html 등으로 특정 확장자로 지정하여 vhost를 나눠 각 WAS 서버 처리도 가능합니다.

 

 

Tomcat에서 server.xml 파일 수정 (/usr/local/tomcat이름/conf/)

8080포트 부분 주석 처리

8009포트 부분 주석 해제 - AJP/1.3

 

 

Apache, Tomcat 재실행

systemctl stop tomcat

systemctl start tomcat

systemctl stop httpd

systemctl start httpd

 


 

이상으로 mod_jk와 설치 및 설정에 대해서 알아보았습니다.

 

행복한 주말되세요~~~~~~🎉🎉🎉🎉🎉🎊🎊🎊

'OS > Linux' 카테고리의 다른 글

[ Linux ] 파일 권한(1)  (0) 2022.08.30
[OS] 리눅스의 필요성  (0) 2022.08.25
[Linux] 리눅스 패키지 비교 (2)  (0) 2022.08.05
xshell을 활용한 터널링  (0) 2022.08.05
[Linux]Application Config 에 대해 알아보자!  (0) 2022.08.04

댓글