Web Server/Apache

○ Apache 가이드 - 로드밸런싱 설정하기

심심한 낙지 2020. 7. 6. 13:20

POOPOO: 배변 일기 앱

SMALL

 

이 포스팅은 CentOS 7 버전에서 진행되었습니다.


목차


환경설정 변경하기

workers.properties 파일 수정

이전에는 Apache 1개와 Apache Tomcat 1개를 연결하는 설정을 해봤습니다.

 

하지만, 이제 Apache Tomcat에 Apache의 요청을 분산해서 전달하려고 하기 때문에 여러개의 Apache Tomcat의 정보를 다 기록해주어야합니다. 일반적으로 Apache Tomcat 하나당 한개의 아이피를 가집니다.

 

따라서, 컴퓨터가 여러대가 필요하기 때문에 가상머신을 활용하여 테스트 하시는 것을 추천합니다. 저는 가상머신 4개를 사용해서 1개는 Apache 서버, 3개는 Apache Tomcat 서버로 사용하였습니다.

 

아래의 설정에서는 원래 worker1 하나만 썼던 톰캣이 지금은 2개가 더 늘어서 추가된 후, 상단에는 톰캣 3개를 묶어주는 옵션이 추가된 것을 볼 수 있습니다.

# vi /etc/httpd/conf/workers.properties
worker.list=load_balancer
worker.load_balancer.type=lb
worker.load_balancer.balance_workers=worker1,worker2,worker3

worker.worker1.port=8009
worker.worker1.host=192.168.136.100
worker.worker1.type=ajp13
worker.worker1.lbfactor=1

worker.worker2.port=8009
worker.worker2.host=192.168.136.101
worker.worker2.type=ajp13
worker.worker2.lbfactor=1

worker.worker3.port=8009
worker.worker3.host=192.168.136.102
worker.worker3.type=ajp13
worker.worker3.lbfactor=1

 

 

httpd.conf 파일 수정

기존에는 worker1 하나만 사용했던 JkMount 옵션값을 load_balancer로 변경하여 로드밸런싱 처리를 할 수 있도록 합니다.

# vi /etc/httpd/conf/httpd.conf
<IfModule jk_module>
    JkWorkersFile conf/workers.properties
    JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
    JkLogFile logs/mod_jk.log
    JkLogLevel info
    JkShmFile run/mod_jk.shm
    
    JkMount /* load_balancer
</IfModule>

 

 

Apache 재시작

설정파일 변경 후, 변경한 내용을 반영하기 위해서 Apache 서버를 재시작합니다.

# service httpd restart

 

LIST