Docker Compose, Nginx 및 MariaDB 모범 사례: PHP 애플리케이션 배포를 위한 프로세스 통합

王林
풀어 주다: 2023-10-12 14:40:02
원래의
1042명이 탐색했습니다.

Docker Compose、Nginx和MariaDB的最佳实践:部署PHP应用程序的流程整合

Docker Compose, Nginx 및 MariaDB 모범 사례: PHP 애플리케이션 배포를 위한 프로세스 통합

소개:
클라우드 컴퓨팅 및 컨테이너화 기술의 급속한 발전으로 Docker는 현대적인 애플리케이션 개발 및 배포의 핵심이 되었습니다. 중요한 방법. 많은 Docker 도구 중에서 컨테이너 서비스를 조정하기 위한 도구인 Docker Compose는 다중 컨테이너 애플리케이션의 배포 및 관리에 널리 사용됩니다. 일반적으로 사용되는 오픈 소스 소프트웨어인 Nginx와 MariaDB도 많은 애플리케이션 시나리오에서 중요한 역할을 합니다.

이 글에서는 Docker Compose를 통해 Nginx와 MariaDB를 통합하여 PHP 애플리케이션을 배포하는 방법을 소개합니다. 준비, Docker Compose 파일 생성, Nginx 구성 작성, PHP 애플리케이션 작성, 컨테이너 시작 및 애플리케이션 액세스 단계로 설명합니다.

1. 준비
시작하기 전에 로컬 환경에 Docker와 Docker Compose를 설치해야 합니다. 시스템에 최신 버전의 Docker 및 Docker Compose가 올바르게 설치되어 제대로 실행되고 있는지 확인하세요.

2. Docker Compose 파일 만들기
프로젝트의 루트 디렉터리에 docker-compose.yml이라는 파일을 만듭니다. 이 파일은 애플리케이션을 통합하는 데 필요한 모든 컨테이너 서비스를 정의합니다.

version: '3'
services:
  web:
    build: .
    ports:
      - 80:80
    volumes:
      - ./app:/var/www/html
    depends_on:
      - db
  db:
    image: mariadb:latest
    environment:
      - MYSQL_ROOT_PASSWORD=secret
    volumes:
      - ./db:/var/lib/mysql
로그인 후 복사

위 Docker Compose 파일에는 web과 db라는 두 가지 서비스가 정의되어 있습니다. 웹 서비스는 현재 디렉터리에 코드를 빌드하고 로컬 포트 ​​80을 컨테이너의 포트 80에 매핑합니다. 서비스 db는 최신 버전의 MariaDB 이미지를 사용하며, 데이터베이스의 루트 비밀번호를 정의하기 위해 환경 변수 MYSQL_ROOT_PASSWORD가 설정됩니다.

3. Nginx 구성 작성
프로젝트 루트 디렉터리에 nginx.conf라는 파일을 생성하고 Nginx 구성 내용을 작성합니다. 다음은 기본 Nginx 구성 예입니다.

server {
    listen 80;
    server_name localhost;

    root /var/www/html/public;
    index index.php;

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

    location ~ .php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
로그인 후 복사

위 Nginx 구성 파일에서 수신 대기 포트를 80으로, 서버 이름을 localhost로 정의했습니다. 루트 디렉터리는 /var/www/html/public으로 지정되며 index.php가 기본 인덱스 파일로 설정됩니다. 동시에 정적 파일을 처리하고 PHP 파일에 대한 요청을 처리하는 데 사용되는 두 개의 위치 블록을 정의했습니다.

4. PHP 애플리케이션 작성
앱 디렉토리에 PHP 애플리케이션용 코드를 작성하세요. 다음은 간단한 Hello World 프로그램의 예입니다. index.php라는 새 파일을 만들고 다음 코드를 추가합니다.

<?php
echo "Hello World!";
로그인 후 복사

5. 컨테이너 시작
터미널에서 프로젝트의 루트 디렉터리를 입력하고 다음 명령을 실행합니다. 컨테이너를 시작하려면:

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

이 명령은 Docker Compose 파일의 정의에 따라 컨테이너를 빌드하고 시작합니다. 잠시 기다리세요. 컨테이너가 성공적으로 시작된 후 다음과 유사한 로그 정보가 표시됩니다.

Creating network "docker_default" with the default driver
Creating docker_web_1 ... done
Creating docker_db_1  ... done
로그인 후 복사

6. 애플리케이션에 액세스합니다.
브라우저에서 http://localhost를 방문하면 "Hello World ! "는 PHP 애플리케이션이 성공적으로 배포되었음을 의미합니다.

7. 요약
이 글의 소개를 통해 Docker Compose, Nginx, MariaDB를 통해 PHP 애플리케이션을 통합하고 배포하는 방법을 배웠습니다. 이러한 통합을 통해 복잡한 컨테이너 서비스를 쉽게 구축 및 관리하고 애플리케이션 구성 요소를 쉽게 확장 및 조정할 수 있습니다. 동시에 이 배포 방법은 우수한 이식성을 제공하므로 다양한 환경에서 애플리케이션을 쉽게 마이그레이션하고 배포할 수 있습니다.

이 문서는 기본적인 예만 제공하며 실제 애플리케이션 배포에서는 더 많은 구성 및 조정이 있을 수 있습니다. 이 예를 통해 독자들이 Docker Compose, Nginx 및 MariaDB 통합에 대한 기본적 이해를 갖고 실제 애플리케이션에서 더욱 유연하게 조정할 수 있기를 바랍니다.

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!