본문 바로가기

WEB & WAS/Tomcat

(7)
nginx + tomcat 클러스터링 구성 개요 구성환경 nginx-1.17.7 / tomcat-9 / CentOS 7.6 테스트 환경 nginx 서버 : 192.168.0.167 / tomcat 1 서버 : 192.168.0.130 / tomcat 2 서버 : 192.168.0.140 1. nginx 구성 nginx.conf http { upstream tomcat_group_1 { ip_hash ; server 192.168.0.130:8080 weight=1 max_fails=6 fail_timeout=10s; server 192.168.0.140:8080; } server { listen 80; server_name localhost; location /examples { proxy_pass http://tomcat_group_1; pro..
nginx tomcat 연동 개요 nginx의 proxy 기능을 사용하여 tomcat 연동 구성환경 CentOS 7.6 / nginx-1.17.7 / tomcat 9 톰캣에 기본 내장된 examples 어플리케이션과 연동하는 예제 단계 1) nginx 구성 1. nginx.conf sserver { location /examples { => context root proxy_pass http://localhost:8080; => tomcat http 주소 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # proxy_set_header X-Real-IP $remote_addr; proxy_set_header HOST $http_host; proxy_set_header X-..
[Tomcat] Context간 세션 공유 개요 디폴트로 세션은 Context(웹모듈)단위로만 공유가 가능하다. 하나의 서블릿 컨테이너에 두개이상의 컨텍스트가 있고, crossContext="true" 설정으로 컨텍스트간 참조할수 있게 하면 메모리내에서 통신이 가능하다. 즉 세션을 공유할수 있다. Tomcat에서 서로 다른 Context간에 세션을 공유하는 방법에 대해서 알아보자 테스트 환경 Tomcat 9 1. conf/Catalina/[hostname]/컨텍스트명A.xml 에 crossContext="true" , sessionCookiePath="/" 추가 세션을 서로 공유하고자 하는 다른 컨텍스트에도 crossContext="true", sessionCookiePath="/" 를 추가 한다.
[Tomcat] Clustering(클러스터링) 개요 WAS의 성능향상 및 서비스 연속성을 위한 목적으로 클러스터를 많이 구성합니다. WAS의 제품군은 별도의 L4 장비를 이용하지 않고도 자체기능에서 세션 공유기능을 제공하여 한쪽이 장애가 생기더라도 원할한 서비스가 가능하도록 설계되어져 있습니다. 다음은 웹서버(apache)와 WAS(톰캣)을 이용하여 세션클러스터링을 구성한 예입니다. 아래 내용은 톰캣과 아파치가 연동이 되어 있다는 전제하에 설명합니다. 톰캣 아파치 연동은 아래 참조 https://fliedcat.tistory.com/2?category=724321 Tomcat 구성 1. server.xml 수정 1.1 심플 클러스터 설정 위 부분의 주석 처리가 되어있다면 주석 제거 1.2 상세 클러스터 설정 또는 절에 아래 내용 추가 - Member..
[Tomcat] WAR 파일 배포 개요 톰캣에서 WAR 파일 배포에 대해 알아봅니다. WAR : Web Application Archive 1. autoDeploy 옵션(디폴트 true) 기본적으로 톰캣은 autoDeploy 옵션이 true일 경우 WAR파일을 appBase(=webapps) 디렉토리에 위치시키면 톰캣 구동시 WAR파일을 자동으로 읽어서 배포(deply)합니다. 2. unPackWARs 옵션(디폴트 true) unPackWARs 옵션이 true로 되어 있을 경우에는 WAR 파일의 압축을 풀어서 배치하게 됩니다. 예로) $TOMCAT_HOME/webapps/examples.war 파일을 위치시키면 examples라는 디렉토리를 생성후에 war파일을 압축 해제합니다. appsBase 이외의 디렉토리에있는 WAR 파일을 디플로..
[Tomcat] Context 추가 개요 Context를 추가 하는 방법은 두가지가 있습니다. 1. $TOMCAT_HOME/conf/Catalina/localhost/ 디렉토리에 context 파일을 추가하는 방법 2. server.xml 파일에 Context 항목을 추가 시키는 방법 1의 방법은 tomcat을 재시작하지 않고 적용할수 있고 2의 방법은 tomcat을 재시작해야만 반영이 된다. tomcat 권고사항에서도 1번을 권장하므로 되도록이면 1번 방법을 적용하는게 운영상 더 편리할수 있겠습니다. 아래는 myapp이라는 Context를 추가하는 예제입니다. Context 파일 위치 - $TOMCAT_HOME/conf/Catalina/localhost/ 디렉토리 예) myapp이라는 context를 추가하고자 한다면 $TOMCAT_HO..
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 설치 ..