>  기사  >  백엔드 개발  >  Docker Compose, Nginx 및 MariaDB를 사용한 PHP 애플리케이션의 크로스 플랫폼 배포

Docker Compose, Nginx 및 MariaDB를 사용한 PHP 애플리케이션의 크로스 플랫폼 배포

WBOY
WBOY원래의
2023-10-12 15:21:16949검색

通过Docker Compose、Nginx和MariaDB实现PHP应用程序的跨平台部署

Docker Compose, Nginx 및 MariaDB를 통한 PHP 애플리케이션의 크로스 플랫폼 배포에는 특정 코드 예제가 필요합니다.

클라우드 컴퓨팅 및 컨테이너화 기술의 발전으로 크로스 플랫폼 배포가 뜨거운 주제가 되었습니다. 이 기사에서는 Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 애플리케이션의 크로스 플랫폼 배포를 달성하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.

Docker Compose는 다중 컨테이너 Docker 애플리케이션을 정의하고 실행하기 위한 도구입니다. 간단한 YAML 파일을 사용하여 애플리케이션의 서비스, 네트워크 및 스토리지 측면을 구성합니다. Nginx는 컨테이너화된 여러 PHP 애플리케이션에 트래픽을 분산하는 데 사용할 수 있는 고성능 웹 서버 및 역방향 프록시 서버입니다. MariaDB는 애플리케이션 데이터를 저장하는 데 사용할 수 있는 오픈 소스 관계형 데이터베이스 관리 시스템입니다.

먼저 PHP 애플리케이션의 서비스를 정의하기 위해 Docker Compose 구성 파일을 작성해야 합니다. 다음은 간단한 예입니다.

version: '3'

services:
  web:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 80:80
    depends_on:
      - db

  db:
    image: mariadb
    environment:
      - MYSQL_ROOT_PASSWORD=123456
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:

위 구성 파일에서 웹과 DB라는 두 가지 서비스를 정의했습니다. 웹 서비스는 PHP 애플리케이션이며 Dockerfile이라는 파일을 사용하여 이미지를 빌드합니다. 애플리케이션이 외부에서 액세스될 수 있도록 컨테이너의 포트 80을 호스트의 포트 80에 매핑합니다. db 서비스는 MariaDB의 공식 이미지를 사용하고 루트 비밀번호와 데이터 볼륨을 설정합니다.

다음으로 PHP 애플리케이션의 이미지를 빌드하기 위해 Dockerfile을 작성해야 합니다. 다음은 간단한 예입니다.

FROM php:7.4-fpm

WORKDIR /app

COPY . /app

RUN apt-get update 
    && apt-get install -y nginx 
    && docker-php-ext-install pdo_mysql

CMD service nginx start && php-fpm

EXPOSE 80

위의 Dockerfile에서 공식 php:7.4-fpm 이미지를 기반으로 이미지를 빌드합니다. 작업 디렉터리를 /app으로 설정하고 현재 디렉터리의 모든 파일을 컨테이너의 /app 디렉터리에 복사합니다. 다음으로 apt-get 명령을 사용하여 nginx 및 pdo_mysql 확장을 설치했습니다. 마지막으로 nginx 및 php-fpm 시작, 포트 80 열기 등 컨테이너를 시작할 때 명령을 설정합니다.

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

docker-compose up -d

이 명령은 Docker Compose 구성 파일을 기반으로 PHP 애플리케이션의 컨테이너를 만들고 시작합니다. -d 매개변수는 컨테이너가 백그라운드에서 실행 중임을 나타냅니다.

컨테이너가 성공적으로 시작되면 브라우저를 통해 http://localhost에 액세스하여 PHP 애플리케이션을 볼 수 있습니다. Nginx는 PHP 애플리케이션 컨테이너에 트래픽을 분산하고 애플리케이션은 MariaDB 데이터베이스에 연결하여 데이터를 가져오고 저장합니다.

요약하자면, Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 애플리케이션의 크로스 플랫폼 배포를 쉽게 달성할 수 있습니다. docker-compose.yml 파일은 애플리케이션의 서비스를 정의할 수 있고 Dockerfile은 애플리케이션의 이미지를 빌드할 수 있습니다. Docker Compose 명령을 사용하면 애플리케이션의 컨테이너를 쉽게 시작하고 관리할 수 있습니다. 이 크로스 플랫폼 배포 솔루션은 간단하고 효율적일 뿐만 아니라 확장성과 유지 관리성도 뛰어납니다.

위는 Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 애플리케이션의 크로스 플랫폼 배포를 구현하기 위한 구체적인 코드 예제입니다. 도움이 되었기를 바랍니다!

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.