안녕하세요!! 임오군란과 민씨의 임입니다.
오늘은 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 |
댓글