Client가 많아지면 서버 1대로 트래픽을 감당하기 힘들다.
이 문제를 해결하기 위한 방법이 2가지 있다.
로드 밸런싱 : 여러 대의 서버에 트래픽을 분산시켜주는 서비스
- 로드 밸런서의 서버 선택 방식
- 라운드 로빈
- Least Connection : 연결 개수가 가장 적은 서버 선택
- Source : 사용자의 IP를 해싱하여 분배
Linux & OpenSource를 활용한 인프라 이중 구축 실습
# mkdir /mnt/cdrom
# mount /dev/cdrom /mnt/cdrom
# mkdir -p /Redhat7/Package
# cd Redhat7/Package
# cp /mnt/cdrom/repodata/*comps*xml.gz /Redhat
# mv *comps*xml.gz comps.xml.gz
# gzip -d comps.xml.gz
4.1
# cp /mnt/cdrom/Package/* /Redhat7/Package
# rpm -ivh createrepo-0.9.8-4.el6.noarch.rpm python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm
# createrepo -g comps.xml .
# vi /etc/yum.repos.d/local.repo
[Package]
name=RedHat Linux Local Repository
baseurl=file:///Redhat7/
enabled=1
gpgcheck=0
# yum list
yum을 사용할 수 있게 되었으므로 yum을 통해 간편하게 Apache를 설치할 수 있다.
계속 root 권한으로 진행해주었다.
# yum install -y httpd
# firewall-cmd --permanent --add-service=http
# firewall-cmd --permanent --add-service=https
# firewall-cmd --reload
# systemctl enable httpd
# systemctl start httpd
# ip address
# yum list java*jdk-dvel
# yum install java
# yum install java-devel
# java -version
# vi /etc/profile
export JAVA_HOME=//usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64
- 수정한 내용을 적용해 준다.
# source /etc/profile
# yum install -y tomcat*
# firewall-cmd --permanent --add-port=8080/tcp
# firewall-cmd --reload
# systemctl enable tomcat
# systemctl start tomcat
# ip address
Apache용 VM 1대, Tomcat용 VM 2대를 이용해 로드 밸런싱을 설정해주었다.
# yum install gcc gcc-c++ httpd-devel
다운로드 방법
1) 다운로드 링크를 복사해 리눅스에서 다운 받기# wget -c 링크 주소
2) ftp 소프트웨어를 통해 다운 받기
나는 filezila를 사용해 다운 받아주었다.
# tar zxvf tomcat-connector*
# cd tomcat-connector*/native/
# ./configure --with-apxs=/usr/bin/apxs
# make
# make install
# chcon -u system_u -r object_r -t httpd_modules_t /etc/httpd/modules/mod_jk.so
# setenforce 0
# vi /etc/sysconfig/selinux
SELINUX=disabled
# vi /etc/httpd/conf/workers.properties
# vi /etc/httpd/conf/httpd.conf
# system restart httpd
# vi /usr/share/tomcat/conf/server.xml
# firewall-cmd --permanent --add-port=8090/tcp
# firewall-cmd --reload
# systemctl enable tomcat
# systemctl start tomcat
Tomcat용 VM에 이름이 동일하고 실행 결과가 다른 html 파일 2개를 다음 경로에 만든다.
경로 : /usr/share/tomcat/webapps/ROOT
이제 web server(Apache)의 ip주소/해당 html 파일명으로 접속하면 로드밸런싱 결과를 확인할 수 있다. 새로고침 시 두 was 서버(Tomcat)가 번갈아 가며 실행된다.
# netstat -an|more
# cat mod_jk.log