CentOS 7. Apache Tomcat Session Clustering 구축하기
CentOS 7 에서 Tomcat 을 2개 이상 돌리게 되는 경우에
Session Clustering 과 Load Balancing 을 하는 방법을 알아보자.
(참고로 난 웹을 잘 모른다. -_-;;)
# Tomcat7 은 아래 경로에서 Download
https://tomcat.apache.org/download-70.cgi
tar 로 풀어주면 끝임.
위치는 상관없고 그 안에 bin 에 있는 startup.sh / shutdown.sh 을 실행하면 끝.
# Apache 는 yum install 로 설치하면 돼.
Ubuntu 에서 apt-get install apache2 만 써보다가...
CentOS 에서 yum install apache2 라고 입력했더니... 찾을수 없대 ㅋㅋㅋㅋ
CentOS 에서는 yum install httpd 로 설치 -_-;;
그리고 나서 development tools 이란걸 설치해야 한대;;;
yum groupinstall 'Development Tools'
그리고... tomcat-connector 라는것도 설치해야 함;
아래 경로에서 다운 받은 뒤에 tar 로 압축 풀어주면 됨
http://www.apache.org/dist/tomcat/tomcat-connectors/jk/
끝이 아니다; -_-; make 해줘야 한다;;;
native 로 이동해서
./buildconfig.sh
./configure --with-apxs=/usr/bin/apxs
요기서 에러가 나면 저 apxs 란 넘을 찾아야 함.
/ 로 가서 find -name 'apxs' 라고 치면 경로가 나올꺼임.
그 경로를 입력해주면 됨.
점마가 검색이 안되면 설치가 안된거임.
yum install httpd-devel
자 거의다 왔다;;;
make
libtool --finish /usr/lib/httpd/modules/
make install
make 를 하게 되면 저 libtool 명령을 실행하라는 log 가 나온다.
64 bit 에서는 lib64 로 나옴. 무튼. 고생했심.
conf 에 보면 httpd-jk.conf 란 놈과 worker.properties 란 놈이 있음.
요놈을 apache... httpd 가 설치된 경로로 이동해서 conf 폴더에 넣어줌.
나같은 경우는 /etc/httpd/conf 에 복사했음
# worker.properties 는 아래와 같이
worker.list=loadbalancer
worker.loadbalancer.type=ajp13
worker.loadbalancer.balanced_workers=test1, test2
worker.loadbalancer.sticky_session=1
worker.test1.type=ajp13
worker.test1.host=192.168.0.111
worker.test1.port=8005
worker.test1.lbfactor=100
worker.test1.connection_pool_timeout=60
worker.test1.socket_keepalive=1
worker.test2.type=ajp13
worker.test2.host=192.168.0.111
worker.test2.port=8006
worker.test2.lbfactor=100
worker.test2.connection_pool_timeout=60
worker.test2.socket_keepalive=1
# httpd.conf 는 아래와 같이 젤 마지막에 추가해줌
Include conf/httpd-jk.conf
# httpd-jk.conf 는 아래와 같이 마지막 /IfModule 안쪽에 추가해줌
JkMount / loadbalancer
JkMount /* loadbalancer
### Tomcat 이 설치된 2개의 경로에 아래 사항을 모두 적용하면 됨
# WAS_HOME 에 webapps/ROOT/WEB-INF/web.xml 수정
webapp 닫기 전에 <distibutable/> 이라고 써줌.
# WAS_HOME 에 conf/server.xml 수정
<Server port="8006" shutdown="SHUTDOWN"> ->8005, 8006
<Connector port="8081" protocol="HTTP/1.1" -> 8080, 8081
<Connector port="8011" protocol="AJP/1.3" -> 8011, 8012
<Engine name="Catalina" defaultHost="localhost" jvmRoute="test1"> -> test1, test2
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> -> 주석만 풀어주면 됨
# 고생했다... 끝난다...
apache 실행
tomcat 실행...
catalina.out Log 에서 보면... clustering 어쩌고 저쩌고 나오면 성공한거임;;
어렵다; ㅡㅡ;;