영상
개요
실무에서 일하다 보면 웹응용프로그램 처리 속도가 느린 경우가 있는데 그 대표적인게 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
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 접속 ( 아파치 톰캣 연동)
http://ip:8080/examples/ (톰캣 직접 접속)
'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 |