> 백엔드 개발 > PHP 튜토리얼 > Docker Compose 및 Nginx를 사용한 PHP 애플리케이션의 고가용성 배포

Docker Compose 및 Nginx를 사용한 PHP 애플리케이션의 고가용성 배포

WBOY
풀어 주다: 2023-10-12 12:18:02
원래의
783명이 탐색했습니다.

通过Docker Compose和Nginx实现PHP应用程序的高可用部署

Docker Compose 및 Nginx를 통한 PHP 애플리케이션의 고가용성 배포

최신 웹 애플리케이션 개발에서 고가용성은 매우 중요한 요소입니다. Docker Compose와 Nginx를 사용하면 PHP 애플리케이션의 고가용성 배포를 달성하고 장애가 발생해도 애플리케이션을 계속 사용할 수 있도록 보장할 수 있습니다.

Docker는 애플리케이션과 해당 종속성을 독립형 컨테이너에 패키징하는 인기 있는 컨테이너화 플랫폼입니다. Docker Compose는 여러 컨테이너 애플리케이션을 정의하고 실행하는 간단한 방법을 제공합니다.

Nginx는 고성능 웹 서버이자 역방향 프록시 서버입니다. 로드 밸런싱을 위해 들어오는 트래픽을 여러 백엔드 서버에 분산할 수 있습니다.

다음은 Docker Compose 및 Nginx를 사용하여 PHP 애플리케이션의 고가용성 배포를 구현하는 예입니다.

먼저 애플리케이션과 Nginx 컨테이너를 정의하기 위해 docker-compose.yml 파일을 생성해야 합니다. 이 파일에서는 여러 서비스를 정의할 수 있으며, 각 서비스는 컨테이너에 해당합니다.

version: '3'
services:
  app1:
    build:
      context: .
      dockerfile: Dockerfile
    restart: always
  app2:
    build:
      context: .
      dockerfile: Dockerfile
    restart: always
  nginx:
    image: nginx
    ports:
      - "80:80"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
    restart: always
로그인 후 복사

이 예에서는 두 개의 애플리케이션 컨테이너(app1 및 app2)와 Nginx 컨테이너(nginx)를 동시에 만들었습니다. app1과 app2는 중복성과 고가용성을 위해 동일한 애플리케이션일 수도 있고 다른 애플리케이션일 수도 있습니다.

다음으로 nginx.conf 구성 파일을 생성하여 Nginx 컨테이너에 마운트해야 합니다. 이 구성 파일은 Nginx를 역방향 프록시 서버로 사용하여 두 애플리케이션 컨테이너 간에 들어오는 트래픽을 분산합니다.

http {
  upstream backend {
    server app1:8080;
    server app2:8080;
  }

  server {
    listen 80;

    location / {
      proxy_pass http://backend;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
    }
  }
}
로그인 후 복사

이 예에서는 두 애플리케이션 컨테이너의 주소와 포트를 Nginx 업스트림 블록의 서버로 구성합니다. 그런 다음 기본 서버 블록에서 백엔드에 대한 프록시 트래픽을 수행합니다.

마지막으로 애플리케이션 컨테이너를 빌드하려면 Dockerfile을 작성해야 합니다. 이 Dockerfile은 특정 애플리케이션에 맞게 사용자 정의할 수 있습니다.

FROM php:7.4.15-fpm

WORKDIR /var/www/html

COPY . .

RUN chmod -R 755 storage

CMD ["php-fpm"]
로그인 후 복사

이 예에서는 공식 PHP 이미지를 사용하고 작업 디렉터리를 /var/www/html로 설정했습니다. 그런 다음 애플리케이션의 코드와 파일을 컨테이너에 복사하고 적절한 권한을 설정합니다. 마지막으로 php-fpm 명령을 사용하여 PHP-FPM 서버를 시작합니다.

위 단계를 완료한 후 다음 명령을 사용하여 고가용성 PHP 애플리케이션을 시작할 수 있습니다.

docker-compose up -d
로그인 후 복사

이 명령은 모든 컨테이너를 시작하고 백그라운드로 전환합니다.

위 단계를 통해 Docker Compose 및 Nginx를 사용하여 PHP 애플리케이션의 고가용성 배포를 성공적으로 구현했습니다. 이제 우리 애플리케이션은 여러 컨테이너에서 실행되고 Nginx를 통해 로드 밸런싱됩니다.

위는 단순한 예일 뿐이므로 특정 요구 사항에 따라 맞춤 설정할 수 있습니다. Docker Compose 및 Nginx를 사용하면 PHP 애플리케이션의 고가용성 배포를 쉽게 달성하고 오류가 발생해도 애플리케이션을 계속 사용할 수 있도록 보장할 수 있습니다.

위 내용은 Docker Compose 및 Nginx를 사용한 PHP 애플리케이션의 고가용성 배포의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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