Docker에서 Nginx 프록시 서버를 사용하여 웹 서비스의 중단점 재개를 구현하는 방법은 무엇입니까?
Docker에서 Nginx 프록시 서버를 사용하여 웹 서비스의 중단점 재개를 구현하는 방법은 무엇입니까?
최신 인터넷 애플리케이션에서 재개 가능한 다운로드는 네트워크가 중단되거나 다른 이유로 전송이 중단된 경우에도 사용자가 대용량 파일을 업로드하거나 다운로드할 때 계속 전송할 수 있도록 하는 매우 중요한 기능입니다. 이 기사에서는 Docker 및 Nginx 프록시 서버를 사용하여 웹 서비스의 중단점 재개를 구현하는 방법을 소개합니다.
먼저 파일 업로드 및 다운로드 기능을 제공하는 간단한 웹 서비스를 만들어야 합니다. 다음은 Python Flask 프레임워크를 사용하여 생성된 샘플 코드입니다.
from flask import Flask, request, send_from_directory app = Flask(__name__) app.config['UPLOAD_FOLDER'] = '/uploads' @app.route('/upload', methods=['POST']) def upload(): f = request.files['file'] f.save(os.path.join(app.config['UPLOAD_FOLDER'], f.filename)) return 'File uploaded successfully' @app.route('/download/<filename>', methods=['GET']) def download(filename): return send_from_directory(app.config['UPLOAD_FOLDER'], filename) if __name__ == '__main__': app.run(host='0.0.0.0', port=5000)
다음으로 Docker를 사용하여 이 웹 서비스를 실행할 컨테이너를 생성해야 합니다. 먼저 컨테이너 이미지를 정의하기 위해 Dockerfile을 생성해야 합니다. 다음은 단순화된 Dockerfile 예입니다.
FROM python:3.7 WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . EXPOSE 5000 CMD ["python", "app.py"]
동일한 디렉터리에 요구 사항.txt 파일을 만들고 다음 콘텐츠를 추가합니다.
Flask
다음으로 다음 명령을 사용하여 Docker 이미지를 빌드합니다.
docker build -t web-service .
빌드가 완료되면, 다음 명령을 사용하여 컨테이너를 실행합니다.
docker run -p 5000:5000 -v /path/to/uploads:/uploads --name web-service-container web-service
위 명령에서는 호스트의 /uploads 폴더를 컨테이너의 /uploads 폴더에 마운트하여 업로드된 파일을 저장합니다.
이제 Docker에서 간단한 웹 서비스를 성공적으로 실행했습니다. 다음으로 Nginx 프록시 서버를 사용하여 중단점 재개 기능을 구현하겠습니다.
먼저 Nginx 구성 파일을 수정해야 합니다. Nginx의 구성 파일에 다음을 추가합니다.
server { listen 80; server_name your_domain.com; location / { proxy_pass http://web-service-container:5000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 0; proxy_request_buffering off; proxy_http_version 1.1; proxy_set_header Connection ""; } }
위 구성에서는 Docker 컨테이너의 웹 서비스에 대한 요청을 프록시하도록 Nginx를 구성했습니다. your_domain.com을 자신의 도메인 이름이나 IP 주소로 바꾸세요.
다음으로 컨테이너에서 Nginx 프록시 서버를 실행하려면 Docker-compose 파일을 업데이트해야 합니다. 동일한 디렉터리에 docker-compose.yml 파일을 생성하고 다음 내용을 추가합니다.
version: '3' services: web-service: build: . ports: - "5000:5000" volumes: - /path/to/uploads:/uploads nginx: image: nginx:latest volumes: - ./nginx.conf:/etc/nginx/conf.d/default.conf ports: - 80:80 depends_on: - web-service
위 구성에서는 nginx라는 서비스를 추가하고 Nginx 구성 파일을 컨테이너에 마운트했습니다.
이제 다음 명령을 사용하여 이 Docker 조합을 시작합니다.
docker-compose up
이 시점에서 Docker의 Nginx 프록시 서버를 사용하여 웹 서비스의 중단점 재개 기능을 성공적으로 구현했습니다. 대용량 파일 업로드 테스트를 통해 재개 기능이 제대로 작동하는지 확인할 수 있습니다.
요약:
이 글에서는 Docker와 Nginx 프록시 서버를 사용하여 웹 서비스의 중단점 재개 기능을 구현하는 방법을 소개합니다. 간단한 웹 서비스를 생성하고 Docker 컨테이너를 사용하여 이를 실행함으로써 이를 수행합니다. 그런 다음 요청을 Docker 컨테이너의 웹 서비스로 전달하도록 Nginx 프록시 서버를 구성했습니다. 이러한 방식으로 우리는 안정적인 파일 업로드 및 다운로드 기능과 향상된 사용자 경험을 달성했습니다.
위 내용은 Docker에서 Nginx 프록시 서버를 사용하여 웹 서비스의 중단점 재개를 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











국내 거울 소스로 전환 할 수 있습니다. 단계는 다음과 같습니다. 1. 구성 파일 /etc/docker/daemon.json 편집 및 미러 소스 주소를 추가하십시오. 2. 저장 및 종료 후 Docker Service Sudo SystemCTL Docker를 다시 시작하여 이미지 다운로드 속도 및 안정성을 향상시킵니다.

Docker 버전을 얻으려면 다음 단계를 수행 할 수 있습니다. Docker 명령 "Docker -version"을 실행하여 클라이언트 및 서버 버전을 볼 수 있습니다. Mac 또는 Windows의 경우 Docker Desktop GUI의 버전 탭 또는 Aff Docker Desktop 메뉴를 통해 버전 정보를 볼 수도 있습니다.

Docker 이미지 생성 단계 : 빌드 지침이 포함 된 Dockerfile을 작성하십시오. Docker 빌드 명령을 사용하여 터미널에 이미지를 빌드하십시오. Docker 태그 명령을 사용하여 이미지를 태그하고 이름과 태그를 지정하십시오.

Docker Logs를 보는 방법에는 다음이 포함됩니다. Docker Logs 명령 사용 : Docker Logs Container_name Docker Exec 명령을 사용하여 RUN /BIN /SH를 사용하여 로그 파일을 봅니다. cat /var/log/container_name.log docker-compose logs docker compose의 명령 : docker-compose -f docker-com 사용

단계를 따르면 Docker 컨테이너 이름을 쿼리 할 수 있습니다. 모든 컨테이너 (Docker PS)를 나열하십시오. 컨테이너 목록을 필터링합니다 (GREP 명령 사용). 컨테이너 이름 ( "이름"열에 위치)을 가져옵니다.

Docker Desktop을 사용하는 방법? Docker Desktop은 로컬 머신에서 Docker 컨테이너를 실행하는 도구입니다. 사용 단계는 다음과 같습니다. 1. Docker Desktop 설치; 2. Docker Desktop을 시작하십시오. 3. Docker 이미지를 만듭니다 (Dockerfile 사용); 4. Docker Image 빌드 (Docker 빌드 사용); 5. 도커 컨테이너를 실행하십시오 (Docker Run 사용).

Docker 이미지를 업데이트하는 단계는 다음과 같습니다. 최신 이미지 태그 가져 오기 새 이미지 특정 태그의 이전 이미지 삭제 (선택 사항) 컨테이너를 다시 시작하십시오 (필요한 경우)

Docker에 이미지를 저장하려면 Docker Commit 명령을 사용하여 지정된 컨테이너의 현재 상태가 포함 된 새 이미지를 만들 수 있습니다. 구문 : Docker Commit [옵션] 컨테이너 ID 이미지 이름. 이미지를 저장소에 저장하려면 Docker Push 명령 인 Syntax : Docker 푸시 이미지 이름 [: tag]을 사용할 수 있습니다. 저장된 이미지를 가져 오려면 Docker Pull 명령 인 Syntax : Docker Pull Image Name [: Tag]을 사용할 수 있습니다.
