현재 위치: > 최신 기사 목록> Docker에서 Nginx 프록시 서버 구성을위한 완전한 안내서 웹 서비스 건강 검사를 구현합니다.

Docker에서 Nginx 프록시 서버 구성을위한 완전한 안내서 웹 서비스 건강 검사를 구현합니다.

M66 2025-07-09

웹 서비스 건강 검사를 지원하기 위해 Docker 컨테이너에서 Nginx 프록시 서버 구성의 중요성

컨테이너화 된 배포의 대중화로 웹 서비스의 안정적인 작동이 특히 중요해졌습니다. 건강 검사 메커니즘을 구성함으로써 서비스 상태를 실시간으로 모니터링하고, 적시에 이상을 처리하며, 전체 시스템의 고 가용성을 향상시킬 수 있습니다. 인기있는 리버스 프록시 서버로서 Nginx는 Docker 환경의 건강 검사를 구성하여 백엔드 서비스의 건강 상태를 효과적으로 모니터링합니다.

사용자 정의 nginx 이미지 dockerfile을 만듭니다

먼저, 사용자 정의 구성 및 건강 검사 스크립트가 포함 된 Nginx 이미지를 작성하려면 Dockerfile을 작성해야합니다. 내용은 다음과 같습니다.

 nginx에서

# 사용자 정의 구성 파일을 컨테이너에 복사합니다. copy nginx.conf /etc/nginx/nginx.conf

# 건강 검사 스크립트를 컨테이너 사본 check.sh /etc/nginx/check.sh에 복사합니다.

# 실행 권한 추가 실행 chmod +x /etc/nginx/check.sh

# 명령을 설정하십시오 cmd /etc/nginx/check.sh && nginx -g "daemon off;"

프록시 및 건강 검사를 구현하기 위해 Nginx 구성 파일 사용자 정의

nginx.conf 파일을 만들고 리버스 프록시 및 건강 점검 경로를 구성하십시오. 예는 다음과 같습니다.

 사용자 nginx;
Worker_Processes 1;

이벤트 {
    Worker_Connections 1024;
}

http {
    상류 백엔드 {
        서버 app1 : 8080;
        서버 app2 : 8080;
    }

    서버 {
        80;
        Server_Name LocalHost;

        위치 / {
            proxy_pass http : // 백엔드;
        }

        위치 /건강 {
            리턴 200;
        }
    }
}

그 중 상류 백엔드는 두 개의 백엔드 서비스 컨테이너를 정의하고 건강 검사 경로 /건강은 상태 코드 200을 반환하여 서비스가 정상임을 나타냅니다.

시작하기 전에 서비스 상태 확인을 달성하기 위해 건강 검사 스크립트 작성

Check.sh 스크립트 루프를 통해 Nginx 서비스가 성공적으로 시작되었는지 확인하십시오. 코드는 다음과 같습니다.

 #!/bin/bash

# 확인할 서버 주소는 호스트 = localhost입니다
# 점검 할 서버 포트 = 80

# 서비스가 성공적으로 시작될 때까지 서비스가 정상인지 확인하거나 {1..10}에서 i의 최대 재 검색 수를 초과합니다.
하다
    # 서비스의 건강 검사 경로를 요청하고 반환 된 HTTP 상태 코드 상태 = $ (Curl -li "$ host : $ port/health"-o/dev/null -w '%{http_code}'-s)

    # HTTP 상태 코드가 200 인 경우 서비스가 정상임을 증명하고 [$ status -eq 200]; 그 다음에
        Echo "Health Check가 통과하고 Nginx가 가동 중입니다."
        출구 0
    fi

    에코 "Nginx가 시작되기를 기다리고 있습니다 ..."
    수면 1
완료

# 재 시도 횟수가 재 시도 횟수를 초과하면 오류 메시지를 인쇄하고 스크립트를 종료하면 "건강 검사 실패, NGINX가 시작되지 않았다".
출구 1

nginx 컨테이너를 빌드하고 시작하십시오

이미지를 만들고 컨테이너를 실행하려면 다음 명령을 실행하십시오.

 Docker Build -t My -Nginx.
Docker Run -D -P 8080 : 80-이름 My-Nginx-Container My-Nginx

이것은 my-nginx 라는 이미지를 만들고 호스트 포트 8080을 컨테이너 포트 80에 매핑하는 컨테이너 인스턴스를 시작합니다.

요약

NGINX 구성 파일 및 건강 검사 스크립트를 통해 Docker 컨테이너의 NGINX 프록시 서버의 백엔드 웹 서비스의 건강 모니터링이 실현됩니다. 이 구성은 서비스의 안정성을 향상시킬뿐만 아니라 후속 확장 및 유지 보수를 용이하게합니다. 실제 비즈니스 요구에 따라 건강 검사 논리 및로드 밸런싱 전략을 더욱 향상시키는 것이 좋습니다.