** CentOS 8 Stream
1. Tomcat이 설치될 가상머신 2개, ssh전용 node 1개 생성
Tomcat9, openJDK 설치 진행
NSG 8080 오픈
2. Load Balancer 생성
인터넷통신이 가능하게 백엔드에서 제외시켜놓고 설정이 완료되면 마지막에 백엔드에 추가
3. Azure Cache for Redis 생성
프라이빗 엔드포인트로 생성
4. Redis session manager 설치
최신버전인 4.0으로 다운로드
압축해제
# unzip tomcat-cluster-redis-session-manager.zip
conf와 lib 폴더를 톰캣이 설치된 폴더에 이동
# cp /home/azure/tomcat-cluster-redis-session-manager/lib/* /home/azure/apache-tomcat-9.0.81/lib/
# cp /home/azure/tomcat-cluster-redis-session-manager/conf/* /home/azure/apache-tomcat-9.0.81/conf/
5. conf 파일 수정
{tomcat_home}/conf/redis-data-cache.properties 설정 수정
Redis 엔드포인트 주소 입력
** Azure Cache for Redis의 경우 프라이빗 엔드포인트를 활성화하여 프라이빗엔드포인트의 FQDN 입력
엔드포인트FQDN:6379
pw는 기본키 입력
{tomcat_home}/conf/context.xml 수정
Context 안에 아래 내용 추가
<Valve className="tomcat.request.session.redis.SessionHandlerValve" />
<Manager className="tomcat.request.session.redis.SessionManager" />
{tomcat_home}/conf/web.xml 수정
6. 테스트 페이지 만들기
# vi {tomcat_home}/webapps/ROOT/session_check.jsp
아래 내용 입력
was1과, was2를 알아볼수있게 수정
<%@ page contentType="text/html; charset=euc-kr" %>
<%@ page import = "java.net.InetAddress" %>
<%@ page import = "java.net.UnknownHostException" %>
<HTML>
<HEAD>
<TITLE>Session Clustering Test WAS1/2 <- WAS1에 1, 2번에 2입력</TITLE>
</HEAD>
<BODY>
<h1>Session Clustering Test <%= request.getServerName() %></h1>
<%=InetAddress.getLocalHost().getHostName()%>
<%=InetAddress.getLocalHost().getHostAddress()%>
<%
Integer ival = (Integer)session.getAttribute("_session_counter");
if(ival==null) {
ival = new Integer(1);
}
else {
ival = new Integer(ival.intValue() + 1);
}
session.setAttribute("_session_counter", ival);
System.out.println("here~~~~"+ival);
%>
Session Counter = [<b> <%= ival %> </b>]<p>
<a href="./session.jsp">[Reload]</a>
<p>
Current Session ID : <%= request.getRequestedSessionId() %><br />
</BODY>
</HTML>
7. 세션확인
톰캣 재시작 후 LB ip로 페이지 접속
1번 was 가상머신 종료하고 새로고침하면 was2로 failover되면서 세션카운트 및 세션ID 유지
**이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
'Computer Base > Web&Was' 카테고리의 다른 글
Apache HTTP -> HTTPS 리다이렉트 (2) | 2023.11.21 |
---|---|
Tomcat9 - Mysql8.0 JDBC연동 (0) | 2023.10.27 |
Apache HTTP가속기 Varnish cache 설치하기 (0) | 2023.08.23 |
Apache mod_ssl SSL인증서 (0) | 2023.08.22 |
Apache mod_evasive DDOS 차단 (0) | 2023.08.21 |