Apache Tomcat의 Load Balancing
Apache와 Tomcat(여러대)를 설치하게 될 경우
부하를 줄이기 위해 로드밸런싱 설정을 통해 Tomcat를 통해 접속할 수 있게 설정
구축환경
CentOS 6.8
httpd 2.4.23
Tomcat 7.0.72
JDK 1.8.112
** Apache + Tomcat 2대 이상을 서버1대에 설치해도 되고 Apache 서버1대 + Tomcat 1대 + Tomcat 1대 식으로 진행해도 가능합니다.
사전작업
Apache Tomcat 연동작업 ** 로드밸런싱의 경우 연동작업에서 커넥터 설치까지만 진행하고 아래 내용대로 진행합니다.
로드밸런싱 설정
[root@localhost ~]# vi /usr/local/apache/conf/httpd.conf
...##아래 내용 추가
LoadModule jk_module modules/mod_jk.so
...
<ifModule jk_module>
JkWorkersFile /usr/local/apache/conf/workers.properties
JkShmFile /usr/local/apache/logs/mod_jk.shm
JkLogFile /usr/local/apache/logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
</ifModule>
JkMount /*.jsp loadbalancer
[root@localhost ~]# vi /usr/local/apache/conf/workers.properties ##생성
worker.list=loadbalancer
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=was1, was2
worker.loadbalancer.ping_mode=I
worker.loadbalancer.ping_timeout=1000
worker.loadbalancer.sticky_session=1
worker.loadbalancer.connection_pool_timeout=20
#was1
worker.was1.port=8009
worker.was1.host=localhost
worker.was1.type=ajp13
worker.was1.lbfactor=1
worker.was1.max_packet_size=65536
#was2
worker.was2.port=18009
worker.was2.host=192.168.0.156
worker.was2.type=ajp13
worker.was2.lbfactor=1
worker.was2.max_packet_size=65536
** 이 외에 추가한다면 3번째 줄에 workers 이름을 추가하고 아래 #was3 등의 이름으로 추가한다.
workers.was1.port
여기서 was1은 각 이름이므로 tomcat 서버가 추가된다면 이름을 변경.
port의 경우는 각 톰캣이 포트를 다르게 할 경우 변경한다.
host의 경우는 해당 톰캣의 서버의 IP. 자기 자신이라면 localhost로 해도 무방하다.
여기서의 로드밸런싱 이름은 loadbalancer로 지정했는데 이는 httpd.conf 파일 내에 추가했던 JkMount /*.jsp loadbalancer와 동일하게 한다.
테스트
각 톰캣이 불러오는 jsp파일의 이름은 같게하고 경로를 다르게 지정한다.
예) Tomcat1 = /test/index.jsp
Tomcat2 = /test2/index.jsp 등.. (물론 한 서버내에 설치한 Tomcat일 경우 지정해주고 물리적으로 다른 서버라면 상관없다.)
각 tomcat의 index.jsp 파일 내에 내용을 다르게 입력한다.
예) /test/index.jsp = tomcat1
/test2/index.jsp = tomcat2
위와 같이 내용을 다르게 한 후 브라우저에서 localhost/index.jsp를 입력할 경우 새로고침을 할 때마다
tomcat1과 2의 내용이 번갈아가며 나타나게 된다. (부하분산)
'Linux > Apache' 카테고리의 다른 글
Apache환경에서 SSL 사용하기 (https) (0) | 2016.09.05 |
---|---|
Apache 컴파일 설치 (0) | 2016.08.05 |