Debian 11에 HAProxy를 설치하는 방법
이 페이지에서
- 전제 조건
- 백엔드 웹 서버 설정
- HAProxy 설치
- HAProxy 구성
- HAProxy 확인\n
- 결론
HAProxy는 고가용성 및 로드 밸런싱을 위한 신뢰할 수 있는 무료 오픈 소스 솔루션입니다. 여러 애플리케이션 서버에 로드를 분산하고 요청 처리 작업을 단순화합니다. 모든 주요 Linux 운영 체제에 설치할 수 있습니다. 효율성, 신뢰성, 낮은 메모리 및 CPU 공간으로 인해 널리 사용됩니다.
이 게시물에서는 Debian 11 시스템에 HAProxy를 설치하는 방법을 설명합니다.
전제 조건
- HAProxy용 Debian 11을 실행하는 서버.\n
- Apache 백엔드 서버용 Debian 11을 실행하는 두 대의 서버.\n
- 루트 암호는 모든 서버에서 구성됩니다.\n
백엔드 웹 서버 설정
이 자습서의 목적을 위해 두 개의 백엔드 Apache 서버를 설정해야 합니다.
첫 번째 백엔드 서버에서 다음 명령을 사용하여 Apache 패키지를 설치합니다.
apt-get install apache2 -y
Apache가 설치되면 다음 명령을 사용하여 샘플 Apache 인덱스 페이지를 생성합니다.
echo "<H1>Welcome to the first Apache Server</H1>" | tee /var/www/html/index.html
두 번째 백엔드 서버에서 다음 명령을 사용하여 Apache 패키지를 설치합니다.
apt-get install apache2 -y
다음으로 다음 명령을 사용하여 샘플 Apache 인덱스 페이지를 만듭니다.
echo "<H1>Welcome to the second Apache Server</H1>" | tee /var/www/html/index.html
완료되면 다음 단계로 진행할 수 있습니다.
HAProxy 설치
기본적으로 HAProxy는 Debian 11 기본 리포지토리에 포함되어 있습니다. 다음 명령을 실행하여 설치할 수 있습니다.
apt-get install haproxy -y
HAProxy가 설치되면 HAProxy 서비스를 시작하고 시스템 재부팅 시 시작되도록 활성화합니다.
systemctl start haproxy
systemctl enable haproxy
완료되면 다음 단계로 진행할 수 있습니다.
HAProxy 구성
다음으로 HAProxy 기본 구성 파일을 편집하고 백엔드 웹 서버를 정의해야 합니다.
nano /etc/haproxy/haproxy.cfg
다음 줄을 추가합니다.
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 192.168.1.10:80 check server backend02 192.168.1.11:80 check
완료되면 파일을 저장하고 닫습니다.
여기서: 192.168.1.10은 첫 번째 Apache 백엔드 서버의 IP 주소이고 192.168.1.11은 두 번째 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 Sun 2021-11-07 03:47:14 UTC; 9s ago Docs: man:haproxy(1) file:/usr/share/doc/haproxy/configuration.txt.gz Process: 86678 ExecStartPre=/usr/sbin/haproxy -f $CONFIG -c -q $EXTRAOPTS (code=exited, status=0/SUCCESS) Main PID: 86680 (haproxy) Tasks: 3 (limit: 4679) Memory: 34.2M CPU: 61ms CGroup: /system.slice/haproxy.service ??86680 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock ??86682 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock Nov 07 03:47:14 debian11 systemd[1]: Starting HAProxy Load Balancer... Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_front started. Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_front started. Nov 07 03:47:14 debian11 systemd[1]: Started HAProxy Load Balancer. Nov 07 03:47:14 debian11 haproxy[86680]: [NOTICE] 310/034714 (86680) : New worker #1 (86682) forked Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_backend_servers started. Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_backend_servers started.
HAProxy 확인
이 시점에서 HAProxy가 구성되어 실행 중입니다. 이제 HAProxy를 테스트할 시간입니다.
웹 브라우저를 열고 URL http://your-haproxy-ip를 입력합니다. HAProxy가 각 새로 고침 후 하나씩 백엔드 서버에 요청을 보내는 것을 볼 수 있습니다.
결론
축하합니다! Debian 11에 HAProxy를 성공적으로 설치했습니다. 이제 프로덕션 환경에서 HAProxy를 구현하여 웹 애플리케이션 성능 및 가용성을 높일 수 있습니다.