LINUX/Apache

[Apache] Load Balancing 설정

민덕이 2021. 7. 1. 22:49

오랜만에 포스팅을 작성한다.

이번 포스팅은 Apache에서 Load Balancing 설정하는 방법을 작성하려고 한다.

Apache 2.4.29(Ubuntu) 기준으로 작성한다.

 

 

먼저 아래의 2개를 활성화해준다.

# a2enmod proxy_balancer
# a2enmod lbmethod_byrequests

 

아래를 참고하여 로드 밸런싱 설정을 추가한다.

BalancerMember은 로드 밸런싱 할 WAS들의 IP:PORT를 설정한다.

필자는 WAS 2대로 로드 밸런싱 설정을 했다.

# vim /etc/apache2/sites-available/000-default.conf



<VirtualHost *:80>
        ServerAdmin alsdud154@rigel.kr
        ServerName upbit.velnova.co.kr
        <Proxy "balancer://mycluster">
                BalancerMember http://192.168.0.15:15050
                BalancerMember http://192.168.0.15:13030
                ProxySet stickysession=ROUTEID
        </Proxy>
        ProxyPass        "/" "balancer://mycluster/"
        ProxyPassReverse "/" "balancer://mycluster/"
        ErrorLog logs/upbit.velonva.co.kr-error_log
        CustomLog logs/upbit.velnova.co.kr-access_log common
</VirtualHost>

 

 

 

이제 아파치를 재시작하면 로드밸런싱이 정상적으로 적용된다.

# service apache2 restart

 

 

다만 필자가 테스트한 WAS는 세션을 사용하여 로그인 유지를 하고 있어 각각 WAS끼리 세션 공유가 되지않는다.

그래서 각각 WAS의 web.xml(ex : tomcat 위치/conf/web.xml)에 설정을 추가해줬다. 

<distributable/>

 

 

마지막으로 WAS의 로그들을 한곳에서 보기위해 톰캣의 catalina.sh(ex : tomcat 위치/bin/catalina.sh) 경로를 변경해준다.

 

 

이전 포스팅

2020.04.22 - [LINUX/SSL] - [Apache] Ubuntu Apache SSL 적용

 

[Apache] Ubuntu Apache SSL 적용

이번 포스팅은 Apache에 SSL 인증서를 적용하려고 한다. 먼저 공유기 443 외부, 내부 포트를 연다. root 계정으로 openssl을 다운로드 한다. /etc/apache2에서 ssl 폴더를 생성 후 ssl 폴더로 이동한다. CA 인증

minddong.tistory.com