Apache 로드밸런싱 간편 설정 본문
Centos 7에서 Apache와 tomcat 여러대를 활용한 로드밸런싱 설정 방법입니다.
http-devel, tomcat, tomcat-connectors(mod_jk) 를 먼저 설치한 후 아래 설정대로 설정하면 로드밸런싱이 설정 됩니다.
1. 아파치 httpd.conf 설정(%APACHE_HOME%/conf/httpd.conf) 변경
httpd.conf를 열어서 마지막에 아래 두 줄을 추가해줍니다.
1 2 | LoadModule jk_module modules/mod_jk.so include conf/mod_jk.conf | cs |
2. mod_jk.conf 생성(%APACHE_HOME%/conf/mod_jk.conf)
%APACHE_HOME%/conf/ 위치에 위에서 설정한 파일 이름인 mod_jk.conf 파일을 생성하여 다음의 내용을 입력합니다.
1 2 3 4 5 6 | <virtualhost *:80> ServerName localhost JkMount /* load_balancer </virtualhost> JkWorkersFile conf/workers.properties | cs |
3. workers.properties 설정
마찬가지로 %APACHE_HOME%/conf/ 위치에 위에서 설정한 파일 이름인 workers.properties 파일을 생성하여 다음의 내용을 입력합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | worker.list=load_balancer worker.load_balancer.type=lb worker.load_balancer.balance_workers=tc01,tc02 worker.tc01.type=ajp13 worker.tc01.host=localhost worker.tc01.port=18009 worker.tc01.lbfactor=1 worker.tc02.type=ajp13 worker.tc02.host=localhost worker.tc02.port=28009 worker.tc02.lbfactor=1 | cs |
여기서 빨간색으로 표시한 부분들을 톰캣 server.xml 에서 설정해주시면 됩니다.
4. 각각 톰캣의 server.xml 설정 (%TOMCAT_HOME%/conf/server.xml)
1) AJP 포트를 workers.properties에 설정한 포트(18009, 28009)로 변경
- 첫번째 톰캣의 server.xml
<Connector port="18009" protocol="AJP/1.3" redirectPort="18443" />
- 두번째 톰캣의 server.xml
2) Engins에 workers.properties의 worker명(tc01, tc02)과 같은 jvmRoute 값 추가
- 첫번째 톰캣의 server.xml
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tc01">
- 두번째 톰캣의 server.xml
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tc02">
5. 톰캣을 동시에 실행 시킨 후 로드밸런싱 테스트
테스트를 진행해보면 톰캣 2개에 로드밸런싱이 되는 것을 확인 할 수 있습니다.
+ jkmanager 설정 방법
1. mod_jk.conf 수정
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <virtualhost *:80> ServerName localhost JkMount /* load_balancer JkMount /jkmanager/* jkstatus </virtualhost> JkWorkersFile conf/workers.properties <Location /status/> JkMount statusmanager Order deny,allow Deny from all Allow from 127.0.0.1 # 접속 허용 IP 추가 </Location> | cs |
빨간 내용 추가
2. workers.properties 수정(해당 문서 제일 아래에 옵션 추가)
1 2 | worker.list=jkstatus worker.jkstatus.type=status | cs |
3. apache 재시작 후 서버IP/jkmanager/ 접속 확인
'Linux' 카테고리의 다른 글
Docker를 활용하여 ElasticSearch 버전별 테스트 환경 구축하기 (0) | 2019.11.18 |
---|