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