>운영 및 유지보수 >엔진스 >로드 밸런싱을 위해 nginx를 구성하는 방법

로드 밸런싱을 위해 nginx를 구성하는 방법

(*-*)浩
(*-*)浩원래의
2019-07-15 11:03:344067검색

nginx는 역방향 프록시를 기반으로 로드 밸런싱을 수행합니다.

로드 밸런싱을 위해 nginx를 구성하는 방법

코드는 다음과 같습니다.

## Basic reverse proxy server ##  
## Apache backend for www.baidu.com ##  
upstream henushang  {  
        # 不过最好换成你们的服务器测试,因为我测试的时候使用jd和baidu的都没有连接成功,         # 换成自己的服务器就行了,估计是那里有限制,如果哪位知道,请指教  
        server www.jd.com weight=1; # 或者ip:port这样形式也是可以的  
    server www.baidu.com weight=9; # 或者ip:port这样形式也是可以的  
}  
  
## Start www.baidu.com ##  
server {  
    listen 80;  
    server_name  www.henushang.cn;#监听的域名  
  
    access_log  logs/henushang.access.log;  
    error_log  logs/henushang.error.log;  
    root   html;  
    index  index.html index.htm index.php;  
  
    ## send request back to apache ##  
    location / {  
        proxy_pass  http://henushang;#与上面的upstream名字相对应  
  
        #Proxy Settings  
        proxy_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;  
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;  
        proxy_max_temp_file_size 0;  
        proxy_connect_timeout      90;  
        proxy_send_timeout         90;  
        proxy_read_timeout         90;  
        proxy_buffer_size          4k;  
        proxy_buffers              4 32k;  
        proxy_busy_buffers_size    64k;  
        proxy_temp_file_write_size 64k;  
   }  
}

nginx에서는 로드 밸런싱을 수행하는 방법이 다음과 같습니다.

1, RR(기본값) 각 각 요청은 다음과 같습니다. 백엔드 서버가 다운되면 자동으로 제거될 수 있습니다. 예:

upstream tomcats {     
               server 10.1.1.107:88  max_fails=3 fail_timeout=3s weight=9;   
               server 10.1.1.132:80  max_fails=3 fail_timeout=3s weight=9;

2.ip_hash 각 요청은 액세스한 IP의 해시 결과에 따라 할당되므로 각 방문자는 백엔드 서버에 대한 고정 액세스 권한을 갖게 되어 세션 문제를 해결할 수 있습니다. 예:

upstream tomcats {   
           ip_hash;    
           server 10.1.1.107:88;    
           server 10.1.1.132:80;    
}

3. fair(타사) 백엔드 서버의 응답 시간에 따라 요청을 할당하고 응답 시간이 짧은 요청에 우선 순위를 부여합니다.

4. url_hash (타사) 액세스한 URL의 해시 결과에 따라 요청을 할당하므로 각 URL이 동일한 백엔드 서버로 연결될 때 더 효과적입니다.

더 많은 Nginx 관련 기술 기사를 보려면 Nginx 사용법 튜토리얼 칼럼을 방문하여 알아보세요!

위 내용은 로드 밸런싱을 위해 nginx를 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.