>  기사  >  운영 및 유지보수  >  다중 도메인 트래픽 분산을 달성하기 위한 Nginx 가상 호스트 로드 밸런싱 구성

다중 도메인 트래픽 분산을 달성하기 위한 Nginx 가상 호스트 로드 밸런싱 구성

PHPz
PHPz원래의
2023-07-08 12:49:441819검색

다중 도메인 트래픽 분산을 달성하기 위한 Nginx 가상 호스트 로드 밸런싱 구성

소개:
현대 네트워크 애플리케이션에서 로드 밸런싱은 시스템 안정성과 성능을 향상시키는 중요한 요소입니다. 고성능 웹 서버인 Nginx는 강력한 로드 밸런싱 기능을 사용하여 다중 도메인 트래픽 분산을 달성할 수 있습니다. 이 기사에서는 여러 도메인 이름의 트래픽 분산을 달성하기 위해 Nginx 가상 호스트 로드 밸런싱을 구성하는 방법을 소개합니다.

1. 기본 환경 준비:
시작하기 전에 Nginx가 설치되어 있고 다음 기본 요소가 있는지 확인해야 합니다.

  1. 여러 도메인 이름이 동일한 서버 IP를 가리킵니다.
  2. 각 도메인 이름이 설치되었습니다. 구성 파일에 구성된 Nginx에서.

2. Nginx 가상 호스트 로드 밸런싱 구성 단계:

  1. 새 구성 파일 vhost.conf 만들기:
    Nginx 구성 디렉터리에서 vhost.conf라는 새 파일을 만들고 파일에 추가합니다. 내용:

    http {
     upstream backend {
         server backend1.example.com;
         server backend2.example.com;
         server backend3.example.com;
     }
    
     server {
         listen 80;
         server_name example.com;
    
         location / {
             proxy_pass http://backend;
         }
     }
    }

    이 구성 파일에서는 backend라는 부하 분산 클러스터를 정의합니다. 여기서 backend1.example.com, backend2.example.com, backend3.example.com은 백엔드 서버의 도메인 이름 또는 IP 주소입니다. 서버 블록에서는 포트 80에서 수신 대기하고 모든 요청을 백엔드 클러스터로 전달하도록 지정합니다.

  2. 기본 구성 파일 nginx.conf를 수정합니다.
    Nginx의 기본 구성 파일 nginx.conf를 열고 http 블록의 include 문에 다음 내용을 추가합니다.

    http {
     ...
     include /path/to/vhost.conf;
     ...
    }

    /path/to/vhost.conf를 The로 대체합니다. 실제 vhost.conf 파일 경로.

  3. Nginx 구성 다시 로드:
    vhost.conf 및 nginx.conf 파일에 대한 수정 사항을 저장하고 다음 명령을 실행하여 Nginx 구성 파일을 다시 로드합니다.

    nginx -s reload

3. 테스트 및 확인:
완료 후 위의 구성을 통해 다음 단계를 통해 테스트하고 확인할 수 있습니다.

  1. 로컬 호스트 파일 수정:
    example.com의 확인 주소를 Nginx 서버의 IP 주소로 변경합니다. Windows 시스템에서 호스트 파일은 C:WindowsSystem32driversetchosts에 있습니다. Linux 시스템에서 호스트 파일은 /etc/hosts에 있습니다.
  2. 브라우저에서 테스트 도메인 이름 방문:
    브라우저에 http://example.com을 입력한 후 페이지를 여러 번 새로 고쳐 요청이 백엔드 서버에 정상적으로 배포되는지 관찰합니다. 모든 것이 순조롭게 진행되면 여러 백엔드 서버가 요청에 교대로 응답하는 것을 볼 수 있습니다.

4. 일반적으로 사용되는 기타 구성 옵션:
기본 로드 밸런싱 구성 외에도 Nginx는 다양한 요구 사항을 충족하기 위한 다양한 구성 옵션을 제공합니다. 다음은 일반적으로 사용되는 일부 구성 옵션의 예입니다.

upstream backend {
 server backend1.example.com weight=3;
 server backend2.example.com weight=2;
 server backend3.example.com;
}
    이 예에서는 가중치 매개변수를 통해 다양한 백엔드 서버의 가중치를 설정했습니다. 가중치가 높은 서버에는 더 많은 트래픽이 할당됩니다.
  1. IP 장애 조치:

    upstream backend {
     ip_hash;
     server backend1.example.com;
     server backend2.example.com;
     server backend3.example.com;
    }
  2. ip_hash 매개변수를 구성하면 Nginx는 요청된 IP 주소를 기반으로 장애 조치를 수행합니다. 즉, 동일한 IP에 대한 요청은 항상 동일한 백엔드 서버로 배포됩니다.
  3. 상태 확인:

    http {
     upstream backend {
         server backend1.example.com max_fails=2 fail_timeout=30s;
         server backend2.example.com;
         server backend3.example.com;
     }
    }
  4. max_fails 및 failure_timeout 매개변수를 구성하면 Nginx는 서버가 max_fails 번 연속 실패하면 일시적으로 사용할 수 없는 것으로 표시됩니다. 다음은 시도 사이의 시간 간격입니다.
  5. 결론:

    Nginx 가상 호스트 로드 밸런싱 구성은 다중 도메인 트래픽 분산을 실현하는 데 중요한 부분입니다. 합리적인 구성을 통해 시스템의 가용성과 성능을 향상시킬 수 있습니다. 이 문서에서는 기본 부하 분산 구성 예를 제공하고 몇 가지 일반적인 구성 옵션을 소개합니다. 독자는 실제 요구 사항에 따라 구성을 유연하게 조정하여 자신의 비즈니스 요구 사항을 충족할 수 있습니다. Nginx 가상 호스트 로드 밸런싱을 구성할 때 이 기사가 도움이 되기를 바랍니다.

위 내용은 다중 도메인 트래픽 분산을 달성하기 위한 Nginx 가상 호스트 로드 밸런싱 구성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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