>  기사  >  백엔드 개발  >  Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 애플리케이션 배포 프로세스 자동화

Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 애플리케이션 배포 프로세스 자동화

WBOY
WBOY원래의
2023-10-12 08:27:111078검색

使用Docker Compose、Nginx和MariaDB实现PHP应用程序的自动化部署流程

제목: Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 애플리케이션 배포 프로세스 자동화

요약: 이 문서의 목적은 Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 애플리케이션 배포를 자동화하는 방법을 소개하는 것입니다. Docker Compose를 사용하여 컨테이너화된 애플리케이션을 관리하고 Nginx를 역방향 프록시 서버로 사용하면서 MariaDB 데이터베이스와 통합할 것입니다. 이 기사에서는 독자가 자동화된 배포 프로세스를 구현하는 데 도움이 되는 특정 코드 예제를 제공합니다.


  1. 소개

기존 배포 방법에서는 서버 환경을 구성, 설치 및 관리하는 것이 매우 번거로울 수 있습니다. Docker Compose를 사용하면 이 프로세스가 단순화되어 애플리케이션을 빠르고 안정적으로 배포할 수 있습니다.

  1. Docker 및 Docker Compose 설치

먼저 대상 서버에 Docker 및 Docker Compose를 설치해야 합니다. 구체적인 설치 방법은 Docker 공식 문서를 참조하세요.

  1. Docker Compose 파일 만들기

프로젝트의 루트 디렉터리에 docker-compose.yaml이라는 파일을 만듭니다. 이 파일은 우리가 배포할 서비스와 서비스 간의 상호 종속성을 정의합니다.

version: '3'

services:
  nginx:
    image: nginx:latest
    ports:
      - "80:80"
    volumes:
      - ./nginx/conf.d:/etc/nginx/conf.d
    depends_on:
      - php
  php:
    image: php:7.4-fpm
    volumes:
      - ./php/app:/var/www/html
  db:
    image: mariadb:latest
    environment:
      - MYSQL_ROOT_PASSWORD=password
      - MYSQL_DATABASE=app
      - MYSQL_USER=app_user
      - MYSQL_PASSWORD=app_password
    volumes:
      - ./db/data:/var/lib/mysql

위의 Docker Compose 파일은 nginx, php 및 db의 세 가지 서비스를 정의합니다. Nginx 서비스는 역방향 프록시 및 정적 파일 제공을 담당하고, PHP 서비스는 애플리케이션을 실행하며, DB 서비스는 MariaDB 데이터베이스입니다.

  1. Nginx 구성 파일 생성

프로젝트 루트 디렉터리에 nginx라는 디렉터리를 생성하고, 이 디렉터리에 conf.d 디렉터리를 생성합니다. Nginx의 역방향 프록시 및 정적 파일 서비스를 정의하는 default.conf라는 파일을 conf.d 디렉터리에 만듭니다.

server {
    listen 80;
    server_name localhost;

    root /var/www/html/public;

    location / {
        try_files $uri /index.php$is_args$args;
    }

    location ~ .php$ {
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

위 Nginx 구성 파일의 핵심은 요청을 PHP 컨테이너의 포트 9000으로 전달하여 PHP 코드를 구문 분석하고 실행할 수 있도록 하는 것입니다.

  1. PHP 애플리케이션 만들기

프로젝트의 루트 디렉터리에 php라는 디렉터리를 만들고 이 디렉터리에 PHP 애플리케이션을 작성합니다.

  1. 애플리케이션 시작

자동 배포 프로세스에 대한 모든 준비가 완료되었으므로 다음 명령을 사용하여 애플리케이션을 시작할 수 있습니다.

docker-compose up -d

이 명령은 docker-compose.yaml 파일에서 구성을 읽고 필요한 Docker 컨테이너를 자동으로 생성하고 실행합니다.

  1. 앱 액세스

서버의 IP 주소나 도메인 이름을 브라우저에 입력하면 앱에 액세스할 수 있습니다.


이 문서에서는 Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 애플리케이션의 자동화된 배포를 달성하는 방법을 자세히 설명합니다. Docker Compose를 사용하여 컨테이너화된 애플리케이션을 관리하고 Nginx를 역방향 프록시 서버로 사용하여 MariaDB 데이터베이스와 통합합니다. 특정 코드 예제를 통해 독자는 자동화된 배포 프로세스를 더 잘 이해하고 구현할 수 있습니다. 이 자동화된 배포 솔루션은 개발 효율성을 향상시키고 시스템 구성 및 관리의 어려움을 줄여주며 현대 소프트웨어 개발의 중요한 부분입니다.

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

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