-
Linux - 톰캣 이중화스마트팩토리 개발자 교육(23.05.08 ~ 23.10.27)7/Linux 2023. 5. 31. 17:11
*톰캣에서가 아닌 아파치에서 분산처리를 하는 이유
데이터 전송 처리를 분산하기 위해 톰캣을 설정한다
요청을 분산하면 처리가 분산이 되니 이를 위해 아파치에서 분산 처리를 한다
1. 톰캣 이중화 (설정은 아파치 웹서버에서 설정)
(1) 워커 파일 설정 변경
vi /etc/httpd/conf/workers.properties
worker.list=tomcat1,tomcat2,loadbalance // loadbalance를 이용하여 부하분산한다
worker.tomcat1.type=ajp13
worker.tomcat1.host=100.100.100.20
worker.tomcat1.port=8009
worker.tomcat1.lbfactor=1
worker.tomcat2.type=ajp13
worker.tomcat2.host=100.100.100.120
worker.tomcat2.port=8009
worker.tomcat2.lbfactor=1
worker.loadbalance.type=lb
worker.loadbalance.balance_workers=tomcat1,tomcat2
(2) 웹 서버 설정 파일 변경
vi /etc/httpd/conf/httpd.conf
LoadModule jk_module /usr/lib64/httpd/modules/mod_jk.so
<IfModule jk_module>
JkWorkersFile /etc/httpd/conf/workers.properties
JkLogFile /var/log/httpd/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkMount /*.jsp loadbalance <----- 이 부분
</IfModule>
(3) 테스트
톰캣의 webapps 밑에 이니셜 디렉토리 밑에 test.jsp 파일 생성
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ page import="java.net.InetAddress" %>
클라이언트 IP <%=request.getRemoteAddr()%><br>
요청URI <%=request.getRequestURI()%><br>
요청URL: <%=request.getRequestURL()%><br>
서버이름 <%=request.getServerName()%><br>
<%
InetAddress inet= InetAddress.getLocalHost();
%>
동작 서버 IP <%=inet.getHostAddress()%><br>
서버포트 <%=request.getServerPort()%><br>'스마트팩토리 개발자 교육(23.05.08 ~ 23.10.27)7 > Linux' 카테고리의 다른 글
Linux - HTTP를 HTTPS로 만들기 (0) 2023.06.05 Linux - 3계층 아키텍처 (0) 2023.05.31 Linux - DB 2중화 (0) 2023.05.31 Linux - httpd, haproxy, 부하분산 (0) 2023.05.31 Linux - Log (0) 2023.05.26