내 연락처 정보
우편메소피아@프로톤메일.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
1: 사례 개요
2: 사전 사례 지식
3: 케이스 환경
[root@localhost ~]# yum -y pcre-devel zlib-devel gcc*를 설치하세요
[root@localhost ~]# useradd -M -s /sbin/nologin nginx
[root@localhost ~]# tar zxvf nginx-1.12.0.tar.gz
[루트@로컬호스트 ~]# cd nginx-1.12.0/
[root@localhost nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
[root@localhost nginx-1.12.0]# make && make install
[root@localhost nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@localhost nginx-1.12.0]# cd /usr/local/nginx/html/0
[root@localhost html]# echo "test web01" > test.html
[root@localhost ~]# systemctl 방화벽 중지
[root@localhost ~]# nginx -t
[root@localhost ~]# nginx ##nginx 프로세스 시작
[root@localhost ~]# netstat -anpt | grep nginx
[root@localhost ~]# systemctl 방화벽 중지
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum -y 설치 pcre-devel bzip2-devel gcc*
[root@localhost ~]# tar zxvf haproxy-1.5.19.tar.gz
[루트@로컬호스트 ~]# cd haproxy-1.5.19/
[root@localhost haproxy-1.5.19]# TARGET=linux26을 만듭니다.
[root@localhost haproxy-1.5.19]# 설치하기
메모:
리눅스 2.2용 linux22
Linux 2.4 이상의 경우 linux24(기본값)
Linux 2.4용 linux24e는 작동 중인 epoll을 지원합니다(> 0.21)
Linux 2.6 이상용 linux26
Solaris 8 또는 10용 solaris(기타는 테스트되지 않음)
FreeBSD 5~8.0용 freebsd(기타는 테스트되지 않음)
OpenBSD 3.1~4.6용 openbsd(기타는 테스트되지 않음)
Cygwin을 위한 cygwin
다른 모든 OS에서는 일반적입니다.
모든 설정을 수동으로 조정하는 사용자 정의
[root@localhost haproxy-1.5.19]# mkdir /etc/haproxy
[root@localhost haproxy-1.5.19]# cp 예제/haproxy.cfg /etc/haproxy/
[root@localhost haproxy-1.5.19]# cp 예제/haproxy.init /etc/init.d/haproxy
[root@localhost haproxy-1.5.19]# ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
[root@localhost haproxy-1.5.19]# chmod +x /etc/init.d/haproxy
[root@localhost ~]# chkconfig --haproxy 추가
(3) Haproxy 구성 소개
[root@localhost haproxy-1.5.19]# vi /etc/haproxy/haproxy.cfg
글로벌
로그 127.0.0.1 local0
log 127.0.0.1 local1 알림
#log loghost local0 정보
맥스콘 4096
유 이드 99
기드 99
악마
#디버그
#조용한
기본값
글로벌 로그
모드 http
옵션 httplog
옵션 dontlognull
재시도 3
# 재발송
맥스콘 2000
컨타임아웃 5000
클라이타임아웃 50000
srv타임아웃 50000
듣기 웹클러스터 0.0.0.0:80
옵션 httpchk GET /index.html
밸런스 라운드 로빈
서버 inst1 192.168.1.61:80 inter 2000 fall 3 확인
서버 inst2 192.168.1.62:80 inter 2000 fall 3 확인
각 서버 뒤에 가중치를 추가하여 가중치 값을 설정할 수 있습니다.
서버 inst1 192.168.1.61:80 inter 2000 fall 3 확인무게 1
서버 inst2 192.168.1.62:80 inter 2000 fall 3 확인무게 2
각 진술에 대한 설명
글로벌
로그 127.0.0.1 local0 \로깅 구성,로컬0로그 장치이며 기본값은 시스템 로그입니다.
log 127.0.0.1 local1 알림 \로그 수준은알아채다
#log loghost local0 정보
맥스콘 4096 \최대 연결 수
UID 99 \사용자액체
기드 99 \사용자기드
데몬 \데몬 프로세스로 실행
#디버그 \디버그 모드, 시작 정보를 표준 출력으로 출력
#조용한 \자동 모드, 시작 시 출력 없음
기본값
로그 글로벌 \사용글로블다음에 정의된 로그
모드 http \모드는http
옵션 httplog \사용http로깅 형식
옵션 dontlognull \보장하다하프록시상태 데이터를 감지하기 위해 상위 로드 밸런서가 보낸 하트비트 패킷을 기록하지 마세요.
재시도 3 \초과된 노드 연결 실패 횟수를 확인합니다.3노드를 사용할 수 없는 것으로 간주됩니다.
# 재발송\로드할 때값이 매우 높으면 현재 대기열에서 오랫동안 처리된 연결이 자동으로 종료됩니다.
맥스콘 2000 \최대 연결 수
시간 초과 5000 \접속 시간 초과미시시피
클라이타임아웃 50000클라이언트 시간 초과미시시피
srv타임아웃 50000서버 시간 초과미시시피
듣기 웹클러스터 0.0.0.0:80 \클러스터 및 수신 포트 번호 정의
옵션 httpchk GET /index.html \서버의 상태를 확인하세요인덱스.html문서,하트비트 감지 URL 설정
밸런스 라운드 로빈 \로드 밸런싱 스케줄링 알고리즘은 라운드 로빈입니다.
서버 inst1 192.168.1.61:80 inter 2000 fall 3 확인 \온라인 노드 정의
서버 inst2 192.168.1.62:80 inter 2000 fall 3 확인
인터2000 체크심장 박동 빈도를 감지하는 것입니다(매2000밀리초한 번 감지됨),가을 3예3장애 발생 시 서버를 사용할 수 없는 것으로 간주됩니다.
새 버전에서는 시간 초과 설정이 다음과 같이 조정되었습니다.
contimeout은 timeout connect로 대체됩니다.haproxy가 클라이언트 요청을 백엔드 서버로 전달할 때까지 기다리는 시간 초과 기간을 정의합니다.
clitimeout은 timeout 클라이언트로 대체됩니다.클라이언트 비활성에 대한 시간 초과 기간은 앱이 haproxy에 연결하는 데 걸리는 시간입니다.
srvtimeout은 시간 초과 서버로 대체됩니다.클라이언트가 서버와 연결을 설정한 후 서버를 기다리는 시간 초과 기간은 haproxy가 백엔드 웹 서버에 연결하는 데 걸리는 시간입니다.
메모:
하프록시8개의 스케줄링 알고리즘이 있습니다
루트 /usr/share/haproxy \즉, 프로그램 실행 시 참조되는 루트 디렉터리 위치를 변경하는 것입니다. 이 코드가 있으면 이 디렉터리를 생성해야 합니다.
로그 수준 정보
정적 레벨 DEBUG
DEBUG Level은 세분화된 정보 이벤트가 애플리케이션 디버깅에 매우 유용하다고 지적합니다.
정적 레벨 INFO
INFO 수준은 메시지가 대략적인 수준에서 애플리케이션의 실행 프로세스를 강조한다는 것을 나타냅니다.
정적 레벨 WARN
WARN 수준은 잠재적인 오류 상황을 나타냅니다.
정적 레벨 오류
ERROR 레벨은 오류 이벤트가 발생하더라도 시스템의 지속적인 작동에 영향을 미치지 않음을 나타냅니다.
정적 레벨 치명적
FATAL 수준은 심각한 오류가 발생할 때마다 애플리케이션이 종료됨을 나타냅니다.
또한 다음과 같은 두 가지 특수 로깅 수준을 사용할 수 있습니다.
정적 레벨 ALL
ALL 레벨은 가장 낮은 레벨로 모든 로깅을 활성화하는 데 사용됩니다.
정적 레벨 OFF
OFF 레벨은 가장 높은 레벨로 모든 로깅을 끄는 데 사용됩니다.
[root@localhost haproxy-1.5.19]# /etc/init.d/haproxy 시작
http://192.168.1.60/테스트.html
테스트하려면 페이지를 새로 고치세요.
또는 스크립트를 사용하여 테스트
[root@localhost ~]# for i in $(seq 10); do curl http://192.168.1.60/test.html ;done
Haproxy는 기본적으로 로그를 기록하지 않습니다. haproxy.conf의 전역 섹션에 로그 출력을 지정하는 것 외에도 시스템 로그 구성 파일도 구성해야 합니다.
방법 1:
[root@localhost haproxy-1.4.24]# vi /etc/haproxy/haproxy.cfg
글로벌
# 로그 127.0.0.1 local0
# log 127.0.0.1 local1 알림
#log loghost local0 정보
맥스콘 4096
chroot /usr/share/haproxy
유 이드 99
기드 99
악마
#디버그
#조용한
log /dev/log local0 정보
log /dev/log local0 알림
[root@localhost haproxy-1.4.24]# /etc/rsyslog.d/haproxy.conf를 터치하세요.
[root@localhost haproxy-1.4.24]# vi /etc/rsyslog.d/haproxy.conf
if ($programname == 'haproxy' and $syslogseverity-text == 'info') then -/var/log/haproxy/haproxy-info.log
& ~
if ($programname == 'haproxy' and $syslogseverity-text == 'notice') then -/var/log/haproxy/haproxy-notice.log
& ~
[root@localhost haproxy-1.4.24]# 서비스 rsyslog 재시작
[root@localhost ~]#/etc/init.d/haproxy 재시작
[root@localhost ~]# cat /var/log/haproxy/haproxy-info.log
방법 2:
(1) /etc/haproxy/haproxy.conf를 편집합니다.
[root@localhost ~]# vi /etc/haproxy/haproxy.cfg
글로벌
로그 127.0.0.1 local3
#local3은 /etc/rsyslog.conf의 구성에 해당하는 장치이며, info의 로그 수준은 기본적으로 재활용됩니다.
(2) haproxy 로그 파일 작성
[root@localhost ~]# vim /etc/rsyslog.d/haproxy.conf
$ModLoad imudp
UDP서버 실행 514
로컬3.* /var/log/haproxy.log
&~
메모:
$ModLoad imudp로그 수집을 위한 프로토콜 UDP
UDP서버 실행 514로그 수집에 사용되는 포트 번호를 지정합니다.
로컬3.* /var/log/haproxy.log로그 저장 위치 지정
(3) rsyslog의 기본 구성 파일을 구성하고 원격 로깅을 활성화합니다(선택 사항).
[root@localhost ~]# vim /etc/sysconfig/rsyslog
SYSLOGD_OPTIONS=”-c 2 -r -m 0″
#-c 2 호환 모드를 사용합니다. 기본값은 -c 5입니다.
#-r 원격 로깅 활성화
#-m 0 마크 타임스탬프.단위는 분입니다. 0일 경우 해당 기능이 비활성화됨을 의미합니다.
(4) haproxy 및 rsyslog 서비스를 다시 시작합니다.
[root@localhost ~]# systemctl 재시작 rsyslog
[root@localhost ~]# systemctl 재시작 haproxy
(5) 홈페이지 접속 후 로그 확인
[root@localhost ~]# cat /var/log/haproxy.log
확장: 프록시 mysql
듣기 mysql 0.0.0.0:3306
서버 mysql1 192.168.10.205:3306 포트 3306 확인 maxconn 300