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 중국어 웹사이트의 기타 관련 기사를 참조하세요!