본문 바로가기

WEB & WAS/Tomcat

apache tomcat 연동

반응형

영상

https://youtu.be/4sMl67534e0

개요

실무에서 일하다 보면 웹응용프로그램 처리 속도가 느린 경우가 있는데 그 대표적인게 DB문제이고 그외 WAS(tomcat, jeus, websphere, weblogic 등등)가 웹서버 역할까지 같이 하는 경우 이러한 증상이 발생합니다. 소규모 같은 경우는 WAS에서 처리가 가능하지만 어느 수준이상 넘어가면 처리 속도가 현저히 떨어집니다. 요즘은 WAS의 처리 속도가 빨라졌다고는 하나 전통(?)적으로 웹서버와 WAS서버는 분리해서 운영하는게 퍼포먼스측면이나 보안측면에서 훨씬 좋습니다.

테스트 환경

OS : CentOS 7.6

apache 2.4

tomcat connector jk 1.2

jdk 8

tomcat 9

1. apache 설치

shell> tar zxvf httpd-2.4.41.tar.gz

shell> cd httpd-2.4.41

shell> ./configure --prefix=/usr/local/httpd --enable-so --enable-ssl

shell> make

shell> make install

* --enable-so

mod_so가 제공하는 DSO 기능을 사용한다. --enable-mods-shared 옵션을 사용하면 자동으로 이 모듈을 포함한다.

* --prefix=PREFIX

아키텍쳐에 독립적인 파일을 PREFIX에 설치한다. 기본값은 /usr/local/apache2이다.

* --enable-ssl

ssl 모듈 탑제

2. tomcat connector jk 설치

shell> tar zxvf tomcat-connectors-1.2.46-src.tar.gz

shell> cd tomcat-connectors-1.2.46-src/native/

shell> ./configure --with-apxs=/usr/local/httpd/bin/apxs

shell> make

shell> make install

* 설치가 정상 완료되면 modules 디렉토리에 mod_jk.so 파일이 생성됨

3. jdk 설치

tar zxvf jdk-8u221-linux-x64.tar.gz => 압축 해제

.bash_profile 파일에 JAVA 환경 설정 추가

JAVA_HOME=/Installdir/jdk1.8.0_221 ; export JAVA_HOME

PATH=$JAVA_HOME/bin:$PATH

[그림 1] .bash_profile java 환경변수 설정

 

4. tomcat 9 설치

shell> tar zxvf apache-tomcat-9.0.24.tar.gz => 압축해제

shell> cd apache-tomcat-9.0.24/bin

shell> ./catalina.sh start => tomcat 구동

5.아파치 환경 설정

5.1 httpd.conf 파일에 mod_jk 설정 추가

LoadModule jk_module modules/mod_jk.so

Include conf/extra/mod_jk.conf

5.2 conf/extra/mod_jk.conf 파일 생성

<IfModule mod_jk.c>

# Where to find workers.properties

JkWorkersFile conf/workers.properties

# Where to put jk shared memory

JkShmFile logs/mod_jk.shm

# Where to put jk logs

JkLogFile logs/mod_jk.log

# Set the jk log level [debug/error/info]

JkLogLevel info

# Select the timestamp log format

JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

## url pattern 에 따른 connector mapping

JkMountFile conf/uriworkermap.properties

</IfModule>

5.3 conf/workers.properties 파일 생성(연동할 톰캣리스트 작성)

worker.list=worker1

worker.worker1.port=8009

worker.worker1.host=127.0.0.1

worker.worker1.type=ajp13

5.4 conf/uriworkermap.properties(톰캣에서 처리할 uri 작성)

/examples/*=worker1

** 여기서는 tomcat servlet, jsp를 예제로 하겠다. examples URL으로 오는 모든 요청에 대해서는 worker1이라고 지정한 톰캣에서 처리하겠다라는 내용

6. 아파치 시작

shell> /usr/local/httpd/bin/apachectl start

7. 접속 테스트

http://ip/examples 접속 ( 아파치 톰캣 연동)

[그림 2] apache tomcat 연동 접속

 

http://ip:8080/examples/ (톰캣 직접 접속)

[그림 3] tomcat 접속

반응형

'WEB & WAS > Tomcat' 카테고리의 다른 글

nginx tomcat 연동  (0) 2020.01.17
[Tomcat] Context간 세션 공유  (0) 2019.09.29
[Tomcat] Clustering(클러스터링)  (0) 2019.08.27
[Tomcat] WAR 파일 배포  (0) 2019.08.25
[Tomcat] Context 추가  (0) 2019.08.23