1.25 - 1.27 Nginx 역방향 에이전트 - buffer 와 proxycache, Nginx 부하 균형
1.25 nginx 역방향 에이전트 - buffer
버퍼 와 캐 시https://coding.net/u/aminglinux/p/nginx/git/blob/master/proxy/bu_ca.md
buffer 와 cache 의 차이
cache: 캐 시
버퍼: 버퍼, 데이터 가 디스크 에 기록 되면 두 가지 상황 이 발생 합 니 다.
예 를 들 어 설명:
택배 로 예 를 들 면 두 가지 상황.
cache: 캐 시
핵심 점
1.27 Nginx 부하 균형
https://coding.net/u/aminglinux/p/nginx/git/blob/master/proxy/lb.md
ip hash 의 특성:
Nginx 는 upstream 과 proxy 를 통 해패스 는 부하 균형 을 이 루 었 다.본질 적 으로 도 Nginx 의 역방향 프 록 시 기능 으로 백 엔 드 서버 가 여러 개 에 불과 합 니 다.
사례 1 (간단 한 폴 링)
upstream www {
server 172.37.150.109:80;
server 172.37.150.101:80;
server 172.37.150.110:80;
}
server {
listen 80;
server_name www.aminglinux.com;
location / {
proxy_pass http://www/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
설명: 프 록 시 된 기계 가 여러 대 일 때 upstream 을 사용 하여 서버 그룹 을 정의 해 야 합 니 다.
그 중 ww 이름 은 사용자 정의 가 가능 합 니 다. 뒤에 있 는 proxy패스 에서 인용 합 니 다.
이렇게 nginx 는 ww 그룹 내 세 대의 서버 에 균형 있 게 문의 할 것 입 니 다.
사례 2 (가중치 폴 링 + ip hash 알고리즘)
upstream www {
server 172.37.150.109:80 weight=50;
server 172.37.150.101:80 weight=100;
server 172.37.150.110:80 weight=50;
ip_hash;
}
server {
listen 80;
server_name www.aminglinux.com;
location / {
proxy_pass http://www/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
설명: ww 팀 내 세 대의 기계 에 가중치 를 설정 할 수 있 고 가중치 가 높 을 수록 배정 하 는 요청 이 많 습 니 다.
ip_hash 는 nginx 부하 균형 알고리즘 으로 원리 가 간단 합 니 다. 요청 에 속 한 클 라 이언 트 IP 에 따라 수 치 를 계산 한 다음 에 요청 을 이 수치 에 대응 하 는 백 엔 드 로 보 냅 니 다.
그래서 같은 클 라 이언 트 의 요청 은 같은 백 엔 드 로 보 냅 니 다. 이 백 엔 드 가 사용 되 지 않 는 한.ip_hash 는 세 션 을 유지 하 는 효과 가 있 습 니 다.
사례 3 (upstream 기타 설정)
upstream www {
server 172.37.150.109:80 weight=50 max_fails=3 fail_timeout=30s;
server 172.37.150.101:80 weight=100;
server 172.37.150.110:80 down;
server 172.37.150.110:80 backup;
}
server
{
listen 80;
server_name www.aminglinux.com;
location / {
proxy_next_upstream off;
proxy_pass http://www/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
설명:
upstream aa.com {
server 192.168.0.121;
server 192.168.0.122;
}
upstream bb.com {
server 192.168.0.123;
server 192.168.0.124;
}
server {
listen 80;
server_name www.aminglinux.com;
location ~ aa.php
{
proxy_pass http://aa.com/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ bb.php
{
proxy_pass http://bb.com/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /
{
proxy_pass http://bb.com/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
설명: aa. php 를 요청 하 는 사람 은 aa. com 그룹 에 갑 니 다. bb. php 를 요청 하 는 사람 은 bb. com 에 갑 니 다. 다른 요청 은 모두 bb. com 에 갑 니 다.
사례 5 (디 렉 터 리 에 따라)
upstream aaa.com
{
server 192.168.111.6;
}
upstream bbb.com
{
server 192.168.111.20;
}
server {
listen 80;
server_name www.aminglinux.com;
location /aaa/
{
proxy_pass http://aaa.com/aaa/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /bbb/
{
proxy_pass http://bbb.com/bbb/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /
{
proxy_pass http://bbb.com/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.