HaProxy는 Tumblr, GitHub 및 StackOverflow와 같은 인기 사이트에서 사용됩니다. 이 가이드에서는 Nginx를 사용하여 구동되는 웹 서버 설정에 HAProxy를 설치하는 과정을 안내합니다.
랩 설정
표시된 CentOS 7 서버 인스턴스 3개
호스트 이름 IP 주소
부하 분산기 3.17.12.132
server_01 3.19.229.234
server_02 3.17.9.217
1단계: 로드 밸런서에 대한 /etc/hosts 파일 편집
시작하려면 로드 밸런서 시스템에 로그인하고 표시된 대로 두 웹 서버의 호스트 이름과 IP 주소를 포함하도록 /etc/hosts 파일을 수정합니다.
$ 왜냐하면 / 등 / 호스트
3.19.229.234 서버_01
3.17.9.217 서버-02
완료되면 변경 사항을 저장하고 구성 파일을 종료하십시오.
이제 각 웹 서버로 이동하여 /기타/호스트 로드 밸런서의 IP 주소와 호스트 이름이 포함된 파일
3.17.12.132 로드 밸런서그런 다음 server_01에서 부하 분산기를 핑할 수 있는지 확인합니다.
마찬가지로 server_02에서
또한 로드 밸런서에서 서버를 ping할 수 있는지 확인하십시오.
완벽한 ! 모든 서버가 로드 밸런서와 통신할 수 있습니다!
2단계: 로드 밸런서에 HA 프록시 설치 및 구성
HA 프록시는 CentOS 공식 리포지토리에서 쉽게 사용할 수 있으므로 yum 또는 dnf 패키지 관리자를 사용하여 설치합니다.
그러나 항상 그렇듯이 먼저 시스템을 업데이트하십시오.
# 냠 업데이트다음으로 표시된 대로 HA 프록시를 설치합니다.
# 냠 설치 하프록시성공적으로 설치되면 haproxy 디렉터리로 이동합니다.
# CD / 등 / 하프록시모범 사례에서는 수정하기 전에 모든 구성 파일을 백업해야 합니다. 그래서 백업 haproxy.cfg 파일 이름을 변경하여.
# mv haproxy.cfg haproxy.cfg.bak다음으로 진행하여 구성 파일을 엽니다.
왜냐하면 haproxy.cfg표시된 대로 수정해야 합니다.
#------------------------------------------------- --------------------# 전역 설정
#------------------------------------------------- --------------------
글로벌
로그 127.0.0.1 local2 #로그 구성
chroot / 였다 / 라이브러리 / 하프록시
pidfile / 였다 / 운영 / haproxy.pid
맥스콘 4000
사용자 하프록시 #Haproxy는 사용자 및 그룹 'haproxy'에서 실행 중입니다.
그룹 하프록시
악마
# 통계 유닉스 소켓을 켭니다.
통계 소켓 / 였다 / 라이브러리 / 하프록시 / 통계
#------------------------------------------------- --------------------
# 모든 'listen' 및 'backend' 섹션에서 사용할 공통 기본값
# 블록에 지정되지 않은 경우 사용
#------------------------------------------------- --------------------
기본값
모드 http
로그 글로벌
옵션 httplog
옵션 dontlognull
옵션 http-server-close
옵션 전달 127.0.0.0 제외 / 8
옵션 재발송
재시도 삼
시간 초과 http 요청 10초
타임아웃 대기열 1분
시간 초과 연결 10초
시간 초과 클라이언트 1분
타임아웃 서버 1분
시간 초과 http-keep-alive 10초
시간 초과 확인 10초
맥스콘 3000
#------------------------------------------------- --------------------
#HAProxy 모니터링 구성
#------------------------------------------------- --------------------
haproxy3 모니터링 듣기 * : 8080 #Haproxy 모니터링은 포트 8080에서 실행됩니다.
모드 http
옵션 전달
옵션 httpclose
통계 ~할 수 있게 하다
통계 쇼 범례
통계 새로고침 5초
통계 우리 / 통계 HAProxy 모니터링을 위한 #URL
통계 영역 Haproxy\ 통계
통계 인증 Password123: Password123 #모니터링 대시보드 로그인을 위한 사용자 및 비밀번호
통계 관리자 만약 진실
default_backend 앱-메인 #백엔드 모니터링을 위한 선택사항입니다.
#------------------------------------------------- --------------------
# 프런트엔드 구성
#------------------------------------------------- --------------------
프론트엔드 메인
묶다 * : 80
옵션 http-server-close
옵션 전달
default_backend 앱-메인
#------------------------------------------------- --------------------
# 균형 알고리즘으로 백엔드 라운드 로빈
#------------------------------------------------- --------------------
백엔드 앱 메인
균형 라운드 로빈 #밸런스 알고리즘
옵션 httpchk 헤드 / HTTP / 1.1 \r\n호스트:\ localhost
#서버 응용 프로그램이 정상 상태인지 확인 - 200 상태 코드
서버 server_01 3.19.229.234: 80 확인하다 #Nginx1
서버 server_02 3.17.9.217: 80 확인하다 #Nginx2
마지막 두 줄에 표시된 대로 웹 서버 호스트 이름과 IP 주소를 수정해야 합니다. 변경 사항을 저장하고 종료합니다.
다음 단계는 HAProxy 통계를 기록할 수 있도록 Rsyslog를 구성하는 것입니다.
# 왜냐하면 / 등 / rsyslog.confUDP 연결을 허용하려면 아래 줄의 주석을 제거하십시오.
$ModLoad imudp$UDPServerRun 514
다음으로 진행하여 새 구성 파일을 만듭니다. haproxy.conf
# 왜냐하면 / 등 / rsyslog.d / haproxy.conf다음 줄을 붙여넣고 저장하고 종료합니다.
local2.=정보 / 였다 / 통나무 / haproxy-access.log #액세스 로그용local2.notice / 였다 / 통나무 / haproxy-info.log #서비스 안내 - 백엔드, 로드밸런서
변경 사항을 적용하려면 다음과 같이 rsyslog 데몬을 다시 시작하십시오.
# systemctl 재시작 rsyslog그런 다음 HAProxy를 시작하고 활성화하십시오.
# systemctl 시작 rsyslog# systemctl 활성화 rsyslog
HAProxy가 실행 중인지 확인
# systemctl 상태 rsyslog3단계: Nginx 설치 및 구성
이제 남은 부분은 Nginx 설치뿐입니다. 각 서버에 로그인하고 먼저 시스템 패키지를 업데이트합니다.
# 냠 업데이트다음 설치 EPEL(Enterprise Linux용 추가 패키지)
# 냠 설치 따뜻한 릴리스Nginx를 설치하려면 다음 명령을 실행합니다.
# 냠 설치 nginx다음으로 Nginx를 시작하고 활성화하십시오.
# systemctl 시작 nginx# systemctl nginx 활성화
그런 다음 로드 밸런서가 두 서버 간에 웹 트래픽을 분산할 수 있는 방법을 시연하거나 시뮬레이션하기 위해 두 경우 모두 index.html 파일을 수정합니다.
server_01의 경우
# 에코 'server_01. 이봐! 첫 번째 웹 서버에 오신 것을 환영합니다' > index.htmlserver_02의 경우
# 에코 'server_02. 이봐! 두 번째 웹 서버에 오신 것을 환영합니다' > index.html변경 사항을 적용하려면 Nginx를 다시 시작하십시오.
# systemctl 재시작 nginx4단계: 로드 밸런서가 작동하는지 테스트
마침내 구성이 작동하는지 확인하려는 지점에 도달했습니다. 따라서 로드 밸런서에 로그인하고 curl 명령을 반복적으로 실행합니다.
# 컬 3.17.12.132server_01 및 server_02의 index.html 값을 표시하는 번갈아 출력이 터미널에 표시되어야 합니다.
이제 웹 브라우저를 사용하여 테스트해 보겠습니다. 로드 밸런서의 IP 주소 찾아보기
http: // 로드 밸런서-IP-주소첫 번째 페이지에는 모든 웹 서버의 콘텐츠가 표시됩니다.
이제 웹 페이지를 새로고침하고 다른 웹 서버의 콘텐츠가 표시되는지 확인합니다.
완벽한 ! 로드 밸런스는 두 웹 서버 간에 IP 트래픽을 균등하게 분배합니다!
이것으로 CentOS 8에서 HAProxy를 설치하고 구성하는 방법에 대한 이 자습서를 마무리합니다. 귀하의 피드백에 감사드립니다.