웹 서비스의 Nginx 역방향 에이전트 와 부하 균형
정방 향 에이전트:
정방 향 프 록 시 는 클 라 이언 트 와 대상 서버 사이 에 있 는 서버 입 니 다. 대상 서버 에서 내용 을 얻 기 위해 클 라 이언 트 는 프 록 시 에 요청 을 보 내 고 대상 서버 를 지정 한 다음 에 프 록 시 는 대상 서버 에 요청 을 전달 하고 얻 은 내용 을 클 라 이언 트 에 게 되 돌려 줍 니 다.클 라 이언 트 는 특별한 설정 을 해 야 정방 향 대 리 를 사용 할 수 있 습 니 다.
역할:
역방향 프 록 시 (Reverse Proxy) 방식 은 프 록 시 서버 로 인터넷 의 연결 요청 을 받 은 다음 내부 네트워크 에 있 는 서버 에 전송 요청 을 하고 서버 에서 얻 은 결 과 를 인터넷 에서 연결 을 요청 한 클 라 이언 트 에 게 되 돌려 주 는 것 을 말한다. 이때 프 록 시 서 비 스 는 대외 적 으로 하나의 서버 로 나타난다.
역할:
1. HTTP 프 록 시 모듈
Nginx 의 HTTP 프 록 시 모듈 은 HTTP Proxy 입 니 다.
http://www.howtocn.org/nginx:nginx%E6%A8%A1%E5%9D%97%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C%E4%B8%AD%E6%96%87%E7%89%88:standardhttpmodules:httpproxy#proxy_pass
이 모듈 은 다른 서버 에 요청 을 전송 할 수 있 습 니 다. HTTP / 1.0 은 keepalive 를 사용 할 수 없습니다. (백 엔 드 서버 는 모든 요청 에 연결 을 만 들 고 삭제 합 니 다.)nginx 는 브 라 우 저 에 HTTP / 1.1 을 보 내 고 백 엔 드 서버 에 HTTP / 1.0 을 보 내 면 브 라 우 저 에 keepalive 를 처리 할 수 있 습 니 다.
http proxy 모듈 (심지어 FastCGI) 을 사용 하면 모든 연결 요청 이 백 엔 드 서버 로 전송 되 기 전에 nginx 에서 캐 시 되 므 로 백 엔 드 에서 전 송 된 데 이 터 를 측정 할 때 진행 상태 가 올 바 르 지 않 을 수 있 습 니 다.
프 록 시 모듈 의 기능 이 매우 강하 고 명령 이 매우 많다.
여 기 는 proxy 에 만 관심 이 있 습 니 다.pass 와 proxyset_header
location / {
proxy_pass http://localhost:8000;
# :location, location if
proxy_set_header X-Real-IP $remote_addr;
# , ip
# , ip
}
# : httpd ip
# :LogFormat "%h %l %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
# :LogFormat "%{X-Real-IP}i %l %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
2. 부하 균형
부하 균형 도 역방향 프 록 시 로 이 루어 집 니 다. 프 록 시 대상 서버 만 한 그룹 입 니 다.그리고 부하 균형 스케줄 링 알고리즘 을 통 해 서로 다른 업무 수요 에 따라 요 구 를 처리한다.
Nginx 는 Upstream 모듈 을 통 해 부하 균형 을 실현 하고 대상 서버 그룹 을 정의 하 며 스케줄 링 알고리즘 을 설정 합 니 다.
upstream backend {
round-robin;
#
server backend1.example.com weight=5;
# , 1( ip_hash )
server backend2.example.com :8080;
#
server backend3.example.com down;
#down - , ip_hash 。
#backup - (0.6.7 ) , ( ip_hash )。
server backend4.example.com max_fails=3 fail_timeout=30s;
#max_fails - (fail_timeout ) , 1, 0
#fail_timeout - max_fails , , 10s
server unix:/tmp/backend5;
# Unix socket 。
}
server {
location / {
proxy_pass http://backend;
#
}
}
#
1.round-robin ( ): , , , 。Weight ,Weight , , 。
2.ip_hash : IP hash , IP , session 。
3.fair : 。 , , 。Nginx fair , , Nginx upstream_fair 。
4.url_hash : url hash , url , 。Nginx url_hash , , Nginx hash 。
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Haproxy 웹 클러스터 구축실험 준비: Haproxy 서버 1대, Nginx 서버 2대, 클라이언트 1대(로컬 컴퓨터 사용) Nginx 서버: ### 참고: 둘 다 비슷한 작업을 수행해야 합니다. Haproxy 서비스: 테스트: 클라이언트가 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.