nginx 에서 upstream 부하 균형 설정 상세 설명
nginx 부하 균형 설정 방법 에 대해 nginx 에서 부하 백 엔 드 서 비 스 는 upstream 을 사용 합 니 다. 여기 서 upstream 의 일부 옵션 을 소개 합 니 다. 순환 방식, 가중치, ip 을 포함 합 니 다.hash 등 필요 한 친구 참고 하 세 요.
nginx 부하 균형 옵션 upstream 용법 예
nginx 에서 upstream 의 몇 가지 방식:
1. 폴 링 (weight = 1)
기본 옵션 입 니 다. weight 가 시간 을 가리 키 지 않 을 때 각 서버 weight 가 같 습 니 다. 각 요청 은 시간 순서에 따라 서로 다른 백 엔 드 서버 에 배 치 됩 니 다. 백 엔 드 서버 다운 이 떨 어 지면 자동 으로 제거 할 수 있 습 니 다.
upstream bakend {
server 192.168.1.10;
server 192.168.1.11;
}
2、weight
폴 링 확률 을 지정 하고 weight 와 방문 비율 이 정비례 하여 백 엔 드 서버 의 성능 이 고 르 지 않 은 경우 에 사용 합 니 다.
백 엔 드 서버 다운 이 떨 어 지면 자동 으로 제거 할 수 있 습 니 다.예 를 들 어 다음 설정 은 1.11 서버 의 방 문 량 이 1.10 서버 의 두 배 입 니 다.
upstream bakend {
server 192.168.1.10 weight=1;
server 192.168.1.11 weight=2;
}
3、ip_hash
모든 요청 은 ip 에 접근 하 는 hash 결과 에 따라 분 배 됩 니 다. 그러면 모든 방문객 이 백 엔 드 서버 를 고정 적 으로 방문 하면 session 이 서버 를 뛰 어 넘 지 못 하 는 문 제 를 해결 할 수 있 습 니 다.백 엔 드 서버 다운 이 떨 어 지면 손 으로 다운 해 야 합 니 다.(www. jbxue. com 정리)
upstream resinserver{
ip_hash;
server 192.168.1.10:8080;
server 192.168.1.11:8080;
}
4. fair (제3자 플러그 인)
백 엔 드 서버 의 응답 시간 에 따라 요청 을 분배 하고 응답 시간 이 짧 은 우선 분 배 를 합 니 다.
upstream resinserver{
server 192.168.1.10:8080;
server 192.168.1.11:8080;
fair;
}
5、url_hash (제3자 플러그 인)
url 에 접근 한 hash 결과 에 따라 요청 을 할당 합 니 다. 모든 url 을 같은 백 엔 드 서버 로 지정 하고 백 엔 드 서버 가 캐 시 서버 일 때 유효 합 니 다.upstream 에 hash 문 구 를 추가 합 니 다. hashmethod 는 hash 알고리즘 을 사용 합 니 다.
upstream resinserver{
server 192.168.1.10:8080;
server 192.168.1.11:8080;
hash $request_uri;
hash_method crc32;
}
장치 상태:
1. 다운 은 싱글 전의 server 가 부하 2, weight 가중치 에 잠시 참여 하지 않 고 기본 값 은 1 입 니 다.weight 가 클 수록 부하 의 가중치 가 커진다.3、max_fails 에서 요청 실패 횟수 를 기본 값 으로 1 로 허용 합 니 다.최대 횟수 를 초과 하면 proxy 를 되 돌려 줍 니 다.next_upstream 모듈 정의 오류 4, failtimeout max_fails 회 실패 후 일시 정지 시간 입 니 다.5backup 예비 서버, 기타 모든 비 backup 기기 다운 또는 바 쁠 때 backup 기 계 를 요청 합 니 다.그래서 이 기계 의 압력 이 가장 가 벼 울 것 이다.
이렇게 많아
upstream tel_img_stream {
#ip_hash;
server 192.168.11.68:20201;
server 192.168.11.69:20201 weight=100 down;
server 192.168.11.70:20201 weight=100;
server 192.168.11.71:20201 weight=100 backup;
server 192.168.11.72:20201 weight=100 max_fails=3 fail_timeout=30s;
}
설명:
1), down 은 현재 server 가 부하 2 에 잠시 참여 하지 않 음 을 나타 낸다. weight 는 기본적으로 1. weight 가 클 수록 부하 의 가중치 가 커진다.3), backup: 다른 모든 비 backup 기기 다운 또는 바 쁠 때 backup 기 계 를 요청 합 니 다.그래서 이 기계 의 압력 이 가장 가 벼 울 것 이다.4), 상례 중 192.168.11.72: 20201 설정 의 최대 실패 횟수 는 3, 즉 최대 3 번 의 시 도 를 하고 시간 초과 시간 은 30 초 입 니 다.max_fails 의 기본 값 은 1, fail 입 니 다.timeout 의 기본 값 은 10s 입 니 다.upstream 에 server 가 하나 밖 에 없 을 때 maxfails 와 failtimeout 매개 변 수 는 작 동 하지 않 을 수 있 습 니 다.weight \ \ backup 은 ip 와 함께 할 수 없습니다.hash 키 워드 를 함께 사용 합 니 다.
마지막 으로 부하 균형 을 사용 해 야 하 는 server 에 추가 합 니 다. proxy_pass http://tel_img_stream/;접근 헤드 정보 가 져 오기:
location ~* ^/tel_img/(.*)$
{
proxy_pass http://tel_img_stream;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
location 에서 URL 을 일치 시 키 면 방향 을 바 꾸 거나 새로운 프 록 시 부하 균형 을 이 룰 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.