현재 위치: > 최신 기사 목록> 여러 도커 컨테이너간에 웹로드 밸런싱을 달성하기 위해 Nginx를 구성하는 방법

여러 도커 컨테이너간에 웹로드 밸런싱을 달성하기 위해 Nginx를 구성하는 방법

M66 2025-06-13

여러 Docker 컨테이너간에 웹 서비스 균형을 낮추기 위해 Nginx 프록시 서버를 구성하는 방법

소개:
컨테이너화 기술의 광범위한 적용으로 웹 서비스의로드 밸런싱에 대한 수요가 점차 증가했습니다. 효율적인 웹 서버 및 리버스 프록시 서버로서 Nginx는 많은 개발자가로드 밸런싱을 달성하는 데 선호되는 도구가되었습니다. 이 기사는 여러 Docker 컨테이너간에 웹 서비스의로드 밸런싱을 달성하기 위해 Nginx 프록시 서버를 구성하는 방법을 자세히 설명합니다.

1. Docker 환경을 설치하십시오

먼저 호스트에 Docker 환경을 설치해야합니다. Docker는 개발자가 응용 프로그램을보다 효율적으로 구축, 게시 및 실행하는 데 도움이되는 오픈 소스 컨테이너 플랫폼입니다. 특정 설치 단계는 Docker의 공식 문서를 참조하십시오.

2. dockerfile을 쓰십시오

웹 서비스를 구성하기 전에 웹 서비스에 Dockerfile을 작성해야합니다. DockerFile은 Docker 이미지를 작성하는 방법을 정의하는 텍스트 파일입니다. 이 파일을 통해 사용 된 기본 이미지, 설치 해야하는 종속성 및 기타 관련 작업을 지정할 수 있습니다.

간단한 dockerfile 예는 다음과 같습니다.

nginx에서
nginx.conf /etc/nginx/nginx.conf를 복사하십시오
default.conf /etc/nginx/conf.d/default.conf를 복사합니다
html/usr/share/nginx/html을 복사하십시오
80 노출
cmd [ "nginx", "-g", "daemon off;"]

이 예에서는 공식 NGINX 기본 이미지를 사용하고 사용자 정의 구성 파일 및 웹 리소스를 컨테이너에 복사했습니다. 마지막으로 컨테이너의 80 포트를 노출시키고 CMD 명령을 사용하여 Nginx 서비스를 시작합니다.

3. Nginx 프록시 서버를 구성하십시오

Docker 환경의 구성을 완료 한 후 다음 단계는 Nginx 프록시 서버를 구성하는 것입니다. 먼저 새 nginx 구성 파일 (nginx.conf)을 생성하고로드 밸런싱 관련 구성을 정의해야합니다.

다음은 nginx 구성 파일의 예입니다.

Worker_Processes 1;

이벤트 {
    Worker_Connections 1024;
}

http {
    상류 백엔드 {
        서버 백엔드 1 : 80;
        서버 백엔드 2 : 80;
    }

    서버 {
        80;

        위치 / {
            proxy_pass http : // 백엔드;
            proxy_set_header 호스트 $ 호스트;
            proxy_set_header xeal-ip $ remote_addr;
        }
    }
}

이 구성 파일에서는 여러 백엔드 컨테이너의 주소와 포트가 포함 된 업스트림 호출 백엔드를 정의합니다. 그런 다음 서버 블록에서 Proxy_pass 지시문을 통해 요청을 백엔드 서비스로 전달하고 proxy_set_header 지시문을 사용하여 요청 헤더를 전달합니다.

4. 도커 이미지 빌드

Nginx.conf 구성 파일과 Dockerfile을 동일한 디렉토리에 넣고 다음 명령을 사용하여 Docker 이미지를 작성하십시오.

Docker Build -t My -Nginx.

5. 여러 컨테이너를 실행하십시오

Nginx 프록시 서버를 구성한 후에는 여러 Docker 컨테이너를 백엔드 서비스로 시작해야합니다. 두 컨테이너는 다음 명령으로 실행할 수 있습니다.

Docker Run -D --name Backend1 my -nginx
Docker Run -D - -Name Backend2 My -Nginx

이런 식으로 두 컨테이너의 NGINX 서비스가 실행되기 시작합니다.

6. Nginx 프록시 서버를 시작하십시오

다음으로 구성된 Nginx 프록시 서버를 실행하고 백엔드 컨테이너에 연결하려면 새 컨테이너를 작성해야합니다. 프록시 서버는 다음 명령으로 시작할 수 있습니다.

Docker Run -D -P 80:80 -Link Backend1 -link backend2 my -nginx

현재 호스트 포트 80의 모든 요청은 Nginx 프록시 서버에 의해 수신되고로드 밸런싱 알고리즘에 따라 백엔드 컨테이너에 배포됩니다.

요약

Nginx 프록시 서버를 구성함으로써 여러 Docker 컨테이너간에 웹 서비스로드 밸런싱을 쉽게 달성 할 수 있습니다. 이는 응용 프로그램의 성능과 안정성을 향상시킬뿐만 아니라 서버 리소스를 효과적으로 활용합니다. 이 기사에 제공된 단계 및 코드 예제가로드 밸런싱을 위해 Nginx를 더 잘 구성하고 사용하는 데 도움이 될 수 있기를 바랍니다.