> 운영 및 유지보수 > 엔진스 > Nginx 및 Keepalived를 사용하여 고용성 웹 서버를 구축하는 방법은 무엇입니까?

Nginx 및 Keepalived를 사용하여 고용성 웹 서버를 구축하는 방법은 무엇입니까?

Karen Carpenter
풀어 주다: 2025-03-11 17:05:43
원래의
569명이 탐색했습니다.

NGINX 및 Keepalived를 사용하여 고 가용성 웹 서버를 구축하는 방법?

Nginx와 Keepalived를 사용하여 고 가용성 웹 서버를 구축하려면 하나의 서버가 실패하면 다른 서버가 원활하게 인수하는 중복 시스템을 설정하는 것이 포함됩니다. 이를 통해 웹 사이트 또는 응용 프로그램의 지속적인 서비스 가용성을 보장합니다. 이 아키텍처에는 일반적으로 Nginx 프로세스의 건강을 모니터링하고 VIP (Virtual IP)를 관리하기 위해 각 서버의 웹 서버 역할을하는 2 개의 NGINX 서버와 각 서버의 똑똑한 인스턴스가 포함됩니다. VIP는 클라이언트의 단일 액세스 지점 역할을합니다. 하나의 nginx 서버가 실패하면 Keepalived는 실패를 감지하고 실패한 서버에서 VIP를 제거하고 건강한 서버에 할당하여 기능 인스턴스로 트래픽을 리디렉션합니다. 이 전체 프로세스는 이상적으로 최종 사용자에게 투명해야합니다. 설정에는 네트워크 구성, 방화벽 규칙 및 건강 검사를 포함하여 Nginx 및 Keepalived의 신중한 구성이 필요합니다. 구성 파일 및 데이터와 관련하여 두 서버 간의 적절한 동기화를 보장하는 것이 중요합니다.

고 가용성을 위해 Nginx로 Keepalived를 설정하기위한 주요 구성 단계는 무엇입니까?

고 가용성을 위해 NGINX를 유지하면서 Keepalived를 설정하는 몇 가지 주요 구성 단계를 포함합니다. 두 개의 별도 서버에서 유지됩니다. 두 서버 모두 운영 체제, 소프트웨어 버전 및 구성 측면에서 동일해야합니다.

  • Nginx : 두 서버에서 NGINX 구성을 동일하게 구성하십시오. 여기에는 가상 호스트 설정, SSL 인증서 (필요한 경우) 및 기타 필요한 구성이 포함됩니다. Nginx 구성이 성능 및 보안에 최적화되어 있는지 확인하십시오.
  • Keepalived 구성 : 이것이 가장 중요한 단계입니다. Keepalived 구성 파일 ( /etc/keepalived/keepalived.conf )은 두 서버에서 신중하게 구성되어야합니다.

    • 가상 IP 주소 (VIP) : 웹 서버에 액세스하는 데 사용될 IP 주소를 정의해야합니다. 이것은 서버의 물리적 네트워크 인터페이스에서 사용되지 않은 IP 주소입니다.
    • 가상 라우터 ID (VRID) : Keepalived가 관리하는 가상 라우터의 고유 식별자입니다. 이는 두 서버에서 동일해야합니다.
    • 우선 순위 : 각 서버의 우선 순위를 나타내는 숫자 값. 우선 순위가 높은 서버가 마스터가되고 VIP를 보유합니다.
    • 인터페이스 : VIP가 할당 될 네트워크 인터페이스. Keepalived는 Nginx가 실행되고 건강한 지 확인하는 방법이 필요합니다. 이는 NGINX 프로세스 또는 특정 서비스를 확인하는 VRRP (Virtual Router Redundancy Protocol) 점검 또는 사용자 정의 스크립트를 포함한 다양한 방법을 사용하여 수행 할 수 있습니다.
  • 가상 서버를 정의합니다. 이 섹션은 VIP, 프로토콜 (일반적으로 TCP 또는 UDP)을 지정하고 Port Nginx가 듣고 있습니다.
  • 인증 구성 (선택 사항) : 강화 된 보안을 위해 서버간에 유지 된 커뮤니케이션에 대한 커뮤니케이션을 구성 할 수 있습니다. 메커니즘. VIP가 다른 서버로 올바르게 전송되도록 서버 고장 (예 : 한 서버에서 nginx를 중지함으로써)을 시뮬레이션합니다.
  • NGINX 웹 서버 설정에서 Keepalived는 어떻게 장애 조치를 보장합니까? 작동하는 방법은 다음과 같습니다.
    1. 마스터 및 백업 : keepived는 구성 파일에 구성된 우선 순위를 기반으로 마스터 서버를 선택합니다. 마스터 서버는 VIP를 보유하고 트래픽을 해당 서버에서 실행중인 NGINX 인스턴스로 지시합니다. 다른 서버는 백업 역할을합니다.
    2. 건강 검사 : heaStivend keeplyed는 두 서버 모두에서 Nginx (및 기타 서비스)의 건강을 지속적으로 모니터링합니다. 이는 recopalived 구성에 정의 된 건강 검사 메커니즘을 통해 수행됩니다.
    3. 실패 감지 : 마스터 서버가 실패하거나 (Nginx 충돌 또는 서버가 응답하지 않으면) 건강 점검을 통해이 실패를 감지합니다. VIP는 실패한 서버에서 제거되어 건강한 백업 서버에 할당됩니다. 이 프로세스는 일반적으로 순간적이며 다운 타임을 최소화합니다.
    4. 트래픽 리디렉션 : 클라이언트는 VIP를 사용하여 웹 서버에 계속 액세스합니다. 트래픽은 이제 건강한 서버로 자동 리디렉션됩니다.
    5. 마스터 선거 : 원래 마스터 서버가 복구되면 Keepalived는 우선 순위에 따라 마스터를 다시 선출합니다. 회수 된 서버가 우선 순위가 높으면 VIP를 회수합니다.

    고 가용성 NGINX 및 Keep-Lived Deployment에 대한 일반적인 과제 및 문제 해결 팁은 무엇입니까?

    공통적 인 과제 및 고가의 문제 및 문제 해결 팁은 NGINX를 포함하고

  • 구성 : 잘못된 네트워크 구성 (IP 주소, 서브넷 마스크, 라우팅)은 빈번한 문제의 원인입니다. 두 서버의 모든 네트워크 설정을 두 번 확인하고 적절한 네트워크 연결을 보장하십시오.
  • 방화벽 규칙 : 방화벽은 서버 간의 Keepalived의 통신을 차단할 수 있습니다. 두 서버의 방화벽에서 필요한 포트가 열려 있는지 확인하십시오.
  • Keep -Unived Configuration 오류 : 오타 또는 reightovived 구성 파일의 잘못된 설정은 적절한 장애 조치를 방지 할 수 있습니다. 오류에 대한 구성 파일을주의 깊게 검토하십시오.
  • 건강 검진 문제 : 부적절하게 구성된 건강 검사는 Nginx의 건강을 정확하게 반영하지 않을 수 있습니다. NGINX 실패를 안정적으로 감지하는 다른 건강 검사 방법을 실험하여 실험합니다.
  • 동기화 문제 : 두 서버 모두 동일한 NGINX 구성 및 데이터가 있는지 확인하십시오. 구성 동기화를 자동화하고 관리하기 위해 구성 관리 도구 (예 : Ansible, Puppet, Chef)를 고려하십시오.
  • 로드 밸런싱 : Keepalived는 고 가용성을 제공하지만 본질적으로로드 밸런싱을 제공하지 않습니다. 트래픽의 최적의 성능 및 배포를 위해 두 개의 NGINX 서버 앞에서로드 밸런서 (예 : 하프 록시, NGINX 자체)를 고려하십시오.
  • 디버깅 : 로깅 도구 (예 : journalctl , syslog ). 문제를 해결합니다. Keepalived Logs는 장애 조치 문제를 해결하는 데 특히 중요합니다. 로그를주의 깊게 조사하면 실패의 근본 원인을 정확히 찾아 낼 수 있습니다.
  • 위 내용은 Nginx 및 Keepalived를 사용하여 고용성 웹 서버를 구축하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    저자별 최신 기사
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿