nginx 부하 균형 설정 - nginx 학습 의 길
16736 단어 nginx
1. Nginx 균형 적 인 기초 지식 nginx 를 탑재 한 upstream 은 현재 4 가지 방식 의 배분 1), 폴 링 (기본) 을 지원 합 니 다. 모든 요청 은 시간 순서에 따라 백 엔 드 서버 에 하나씩 배정 되 며 백 엔 드 서버 다운 이 떨 어 지면 자동 으로 제거 할 수 있 습 니 다.2) weight 는 폴 링 확률 을 지정 하고 weight 와 방문 비율 이 정비례 하여 백 엔 드 서버 의 성능 이 고 르 지 않 은 경우 에 사용 합 니 다.3)、ip_hash 모든 요청 은 ip 에 접근 하 는 hash 결과 에 따라 분 배 됩 니 다. 모든 방문객 이 백 엔 드 서버 에 고정 적 으로 접근 하면 session 문 제 를 해결 할 수 있 습 니 다.4), fair (제3자) 는 백 엔 드 서버 의 응답 시간 에 따라 요청 을 분배 하고 응답 시간 이 짧 은 우선 분 배 를 한다.5)、url_hash (제3자)
2. Nginx 부하 균형 실례 1upstream bbs. linuxtone. org { #부하 균형 장치 의 Ip 및 장치 상 태 를 정의 합 니 다. server 127.0.0.1:9090 down; server 127.0.0.1: 8080 weight = 2; server 127.0.0.1: 6060; server 127.0.0.1: 77070 backup;} 부하 균형 이 필요 한 server 에 proxy 를 추가 합 니 다.pass http://bbs.linuxtone.org/;
모든 장치 의 상태 설정: a) down 은 목록 앞의 server 가 부하 b 에 잠시 참여 하지 않 음 을 표시 합 니 다) weight 는 기본적으로 1. weight 가 클 수록 부하 의 가중치 가 커진다.c) max_fails: 요청 실패 횟수 를 기본 으로 1. 최대 횟수 를 초과 하면 proxy 로 되 돌려 줍 니 다.next_upstream 모듈 정의 오류 d) fail_timeout:max_fails 회 실패 후 일시 정지 시간 입 니 다.e) backup: 다른 모든 비 backup 기기 다운 이나 바 쁠 때 backup 기 계 를 요청 합 니 다.그래서 이 기계 의 압력 이 가장 가 벼 울 것 이다.
nginx 는 여러 그룹의 부하 균형 을 동시에 설정 하여 사용 하지 않 는 server 에 사용 할 수 있 도록 지원 합 니 다.client_body_in_file_only 는 On 으로 설정 하여 client post 에서 온 데 이 터 를 파일 에 기록 하여 debugclient 로 사용 합 니 다.body_temp_path 에 기록 파일 을 설정 한 디 렉 터 리 는 최대 3 층 디 렉 터 리 location 를 설정 하여 URL 을 일치 시 킬 수 있 습 니 다. 방향 을 바 꾸 거나 새로운 프 록 시 부하 균형 을 이 룰 수 있 습 니 다.
3. Nginx 부하 균형 인 스 턴 스 2 는 url 에 접근 한 hash 결과 에 따라 요청 을 할당 합 니 다. 모든 url 을 같은 백 엔 드 서버 로 지정 합 니 다. 백 엔 드 서버 가 캐 시 일 때 효과 적 이 고 Squid 캐 시 명중률 을 높이 는 데 도 사용 할 수 있 습 니 다. 간단 한 부하 평균 인 스 턴 스: \ # vi nginx. conf / nginx 메 인 프로필 핵심 설정.{ip_hash;server 127.0.0.1:8080;server 192.168.169.136:8080;server 219.101.75.138:8080;server 192.168.169.117;server 192.168.169.118;server 192.168.169.119;}…………..include vhosts/linuxtone_lb.conf;………# vi proxy.confproxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;client_max_body_size 50m;client_body_buffer_size 256k;proxy_connect_timeout 30;proxy_send_timeout 30;proxy_read_timeout 60;proxy_buffer_size 4k;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;proxy_max_temp_file_size 128m;proxy_store on;proxy_store_access user:rw group:rw all:r;#nginx cache#client_body_temp_path /data/nginx_cache/client_body 1 2;proxy_temp_path /data/nginx_cache/proxy_temp 1 2;#vi linuxtone_lb.confserver{listen 80;server_name my.linuxtone.org;index index.php;root /data/www/wwwroot/mylinuxtone;if (-f $request_filename) { break;}if (-f $request_filename/index.php) { rewrite (.*) $1/index.php break;}error_page 403 http://my.linuxtone.org/member.php?m=user&a=login;location / { if ( !-e $request_filename) { proxy_pass http://my.linuxtone.org; break; } include /usr/local/nginx/conf/proxy.conf;}}
부하 균형 을 사용 하면 http 노드 설정 을 다음 과 같이 수정 할 수 있 습 니 다.
# http ,
http {
# mime , mime.type
include /etc/nginx/mime.types;
default_type application/octet-stream;
#
access_log /var/log/nginx/access.log;
#
#。。。。。。。。。。
#
upstream mysvr {
#weigth ,
server 192.168.8.1x:3128 weight=5;
# Squid 3128 , squid
server 192.168.8.2x:80 weight=1;
server 192.168.8.3x:80 weight=6;
}
upstream mysvr2 {
#weigth ,
server 192.168.8.x:80 weight=1;
server 192.168.8.x:80 weight=6;
}
#
server {
# 192.168.8.x 80
listen 80;
server_name 192.168.8.x;
# aspx
location ~ .*\.aspx$ {
#
root /root;
#
index index.php index.html index.htm;
# mysvr
proxy_pass http://mysvr ;
# .
proxy_redirect off;
# Web X-Forwarded-For IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#
client_max_body_size 10m;
# ,
client_body_buffer_size 128k;
#nginx ( )
proxy_connect_timeout 90;
# , ( )
proxy_read_timeout 90;
# (nginx)
proxy_buffer_size 4k;
#proxy_buffers , 32k ,
proxy_buffers 4 32k;
# (proxy_buffers*2)
proxy_busy_buffers_size 64k;
# , , upstream
proxy_temp_file_write_size 64k;
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.