Ubuntu 22.04에서 HAProxy를 설치하고 구성하는 방법
이 페이지에서
- 전제 조건
- Apache 웹 서버를 백엔드 서버로 설정
- HAProxy 설치
- HAProxy 구성
- HAProxy 테스트
- 결론
HAProxy는 High Availability Proxy의 약자이기도 하며 최신 애플리케이션 아키텍처를 단순화하고 보호하도록 설계된 무료 오픈 소스 로드 밸런서 및 프록시 솔루션입니다. 이를 통해 웹 서버는 들어오는 요청을 여러 끝점에 분산시킬 수 있습니다. 너무 많은 동시 연결이 단일 서버의 기능을 과포화시키는 경우 매우 유용합니다. 효율성, 신뢰성, 낮은 메모리 및 CPU 공간으로 인해 인기를 얻고 있습니다.
이 게시물에서는 Ubuntu 22.04에서 HAProxy를 설치하는 방법에 대해 설명합니다. div-gpt-ad-howtoforge_com-medrectangle-3-0;var ffid=1;var alS=1021%1000;var container=document.getElementById(slotId);container.style.width=100%;var ins=document. createElement(ins);ins.id=slotId+-asloaded;ins.className=adsbygoogle ezasloaded;ins.dataset.adClient=pid;ins.dataset.adChannel=cid;if(ffid==2){ins.dataset.fullWidthResponsive= 진실;}
전제 조건
- HAProxy용 Ubuntu 22.04를 실행하는 서버.\n
- Apache 백엔드 서버용 Ubuntu 22.04를 실행하는 서버 2대.\n
- 루트 암호는 모든 서버에서 구성됩니다.\n
Apache 웹 서버를 백엔드 서버로 설정
먼저 자습서를 수행하려면 두 개의 Apache 웹 서버를 백엔드 서버로 설정해야 합니다.
첫 번째 백엔드 서버에서 다음 명령을 사용하여 Apache 패키지를 설치합니다.
apt-get install apache2 -y
설치 후 다음 명령을 사용하여 샘플 Apache 인덱스 페이지를 생성합니다.
echo "<H1>Success! This is my first Apache Server</H1>" | tee /var/www/html/index.html
두 번째 백엔드 서버에서 다음 명령을 사용하여 Apache 패키지를 설치합니다.
apt-get install apache2 -y
다음으로 다음 명령을 사용하여 샘플 Apache 인덱스 페이지를 만듭니다.
echo "<H1>Success! This is my second Apache Server</H1>" | tee /var/www/html/index.html
완료되면 HAProxy 서버 설치를 진행할 수 있습니다.
HAProxy 설치
기본적으로 HAProxy는 Ubuntu 22.04 기본 저장소에 포함되어 있습니다. 다음 명령을 실행하여 설치할 수 있습니다.
apt-get install haproxy -y
HAProxy가 설치되면 HAProxy 서비스를 시작하고 시스템 재부팅 시 시작되도록 활성화합니다.
systemctl start haproxy
systemctl enable haproxy
완료되면 HAProxy 구성을 진행할 수 있습니다.
HAProxy 구성
이 시점에서 HAProxy가 설치되어 실행 중입니다. 이제 HAProxy 기본 구성 파일을 편집하고 백엔드 웹 서버를 정의해야 합니다.
nano /etc/haproxy/haproxy.cfg
두 백엔드 Apache 서버를 모두 추가합니다.
frontend apache_front # Frontend listen port - 80 bind *:80 # Set the default backend default_backend apache_backend_servers # Enable send X-Forwarded-For header option forwardfor # Define backend backend apache_backend_servers # Use roundrobin to balance traffic balance roundrobin # Define the backend servers server backend01 172.16.0.200:80 check server backend02 172.16.0.201:80 check
완료되면 파일을 저장하고 닫습니다.
여기서: 172.16.0.200은 첫 번째 Apache 백엔드 서버의 IP 주소이고 172.16.0.201은 두 번째 Apache 백엔드 서버의 IP 주소입니다.
그런 다음 HAProxy 서비스를 다시 시작하여 변경 사항을 적용합니다.
systemctl restart haproxy
이제 다음 명령을 사용하여 HAProxy의 상태를 확인할 수 있습니다.
systemctl status haproxy
다음과 같은 결과가 표시됩니다.
? haproxy.service - HAProxy Load Balancer Loaded: loaded (/lib/systemd/system/haproxy.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2022-07-11 09:03:45 UTC; 45s ago Docs: man:haproxy(1) file:/usr/share/doc/haproxy/configuration.txt.gz Main PID: 48217 (haproxy) Tasks: 2 (limit: 2242) Memory: 71.3M CPU: 143ms CGroup: /system.slice/haproxy.service ??48217 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock ??48219 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock Jul 11 09:03:45 ubuntu2204 systemd[1]: Starting HAProxy Load Balancer... Jul 11 09:03:45 ubuntu2204 haproxy[48217]: [NOTICE] (48217) : New worker #1 (48219) forked Jul 11 09:03:45 ubuntu2204 systemd[1]: Started HAProxy Load Balancer.
테스트 HAProxy
이 시점에서 HAProxy가 구성되어 실행 중입니다. 이제 HAProxy가 작동하는지 여부를 확인할 시간입니다.
웹 브라우저를 열고 URL http://your-haproxy-ip를 입력합니다. HAProxy가 각 새로 고침 후 하나씩 백엔드 서버에 요청을 보내는 것을 볼 수 있습니다.
결론
이 게시물에서는 HAProxy 서버를 설치하고 구성하여 두 개의 Apache 웹 서버에 부하를 분산시키는 방법을 보여주었습니다. 우분투 22.04에서. 이제 프로덕션 환경에서 HAProxy를 구현하여 웹 애플리케이션 성능 및 가용성을 높일 수 있습니다.