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

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

Jul 15, 2019 am 11:03 AM
nginx

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으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Tomcat 서버에 대한 외부 네트워크 액세스를 허용하는 방법 Tomcat 서버에 대한 외부 네트워크 액세스를 허용하는 방법 Apr 21, 2024 am 07:22 AM

Tomcat 서버에 대한 외부 네트워크 액세스를 허용하는 방법

nginx 시작 및 중지 명령은 무엇입니까? nginx 시작 및 중지 명령은 무엇입니까? Apr 02, 2024 pm 08:45 PM

nginx 시작 및 중지 명령은 무엇입니까?

thinkphp를 실행하는 방법 thinkphp를 실행하는 방법 Apr 09, 2024 pm 05:39 PM

thinkphp를 실행하는 방법

톰캣과 nginx의 차이점은 무엇입니까 톰캣과 nginx의 차이점은 무엇입니까 Dec 27, 2023 pm 05:07 PM

톰캣과 nginx의 차이점은 무엇입니까

nginx에 오신 것을 환영합니다! 어떻게 해결하나요? nginx에 오신 것을 환영합니다! 어떻게 해결하나요? Apr 17, 2024 am 05:12 AM

nginx에 오신 것을 환영합니다! 어떻게 해결하나요?

phpmyadmin을 등록하는 방법 phpmyadmin을 등록하는 방법 Apr 07, 2024 pm 02:45 PM

phpmyadmin을 등록하는 방법

nodejs 프로젝트를 서버에 배포하는 방법 nodejs 프로젝트를 서버에 배포하는 방법 Apr 21, 2024 am 04:40 AM

nodejs 프로젝트를 서버에 배포하는 방법

웹사이트에 접속할 때 nginx 문제를 해결하는 방법 웹사이트에 접속할 때 nginx 문제를 해결하는 방법 Apr 02, 2024 pm 08:39 PM

웹사이트에 접속할 때 nginx 문제를 해결하는 방법

See all articles