환경 :
두 백엔드 웹 프록시 서버
WEB1 : eth0를 : 192.168.2.100/24 아파치 웹을
Web2입니다 : eth0를 : 192.168.2.200/24 아파치 웹을
프록시 : eth0를 : 192.168.2.5/24
프록시 어떤 혜택입니까?
1. 숨기기 실제 서버 백엔드 편지, 특정 보안 역할이있다.
2. 부하 분산 장치는 부하 역할을 균형.
3. 건강 검사, 상태 검사가 자동으로 제거 클러스터를 추가 달성했다.
사용 업스트림 프록시 서버의 nginx의 conf의 구성은 백 엔드 서버의 클러스터에 정의되어 있습니다
HTTP {
......................
업스트림 웹 프록시 {// 정의 클러스터 이름은 프록시 인
서버 192.168.2.100:80, 백엔드 // + PORT 서버 1IP의
서버 192.168.2.200:80; // + PORT 백 엔드 서버 2IP
}
서버 {
(80)를 듣고;
서버 _ 로컬 호스트;
위치 / {
proxy_pass에 http : // 웹 프록시;
}
}
서버 {
}
}
다시 시작의 nginx 구성 파일 예비 시험을 다시로드 :
스케줄러가 자동으로 WEB1과 Web2입니다 폴링 알고리즘을 갈 참조하십시오.
당신은 상류의 nginx에 백 엔드 서버 가중치 및 기타 매개 변수를 지정할 수 있습니다.
상류 웹 프록시 {//定义集群名字叫프록시
서버 192.168.2.100:80 중량 = 1 max_fails = 1 fail_timeout = 30 ; ;
서버 192.168.2.200:80 중량 = 2 max_fails = 2 fail_timeout = 30 ; ;
아래로 서버 192.168.2.201:80;
}
마커 서버가 더 이상 클러스터 일정에 참여, 종료되지 않은 아래로 무게 매개 변수가 백 엔드 서버의 가중치를 설정할 수있는 경우, max_fails 실패 백 엔드 서버의 수를 설정할 수 있습니다, fail_timeout 백그라운드 서버 오류 시간 제한을 설정할 수 있습니다.
wigth 기본 값은 1, fail_timeout 초입니다.
또한 상류의 nginx의 알고리즘을 지정할 수 있습니다
클러스터 이름 프록시를 정의 // 업스트림 웹 프록시 {
ip_hash;
서버 192.168.2.100:80 중량 = 1 max_fails = 1 fail_timeout = 30 ;
서버 192.168.2.200:80 중량 = 2 max_fails = 2 fail_timeout = 30 ;
아래로 서버 192.168.2.201:80;
}
nginx를 현재 스케줄링 알고리즘 세 종류를 지원합니다 :
폴링 (기본값) : 점진적주기 일정
중량 : 가중치 폴링 레이트 액세스 확률을 지정 권리 2 배 내지 1의 양에 비례하는 액세스
ip_hash : 할당 된 고정 IP 클라이언트 백엔드 서버