제목: Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 애플리케이션 배포 프로세스 자동화
요약: 이 문서의 목적은 Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 애플리케이션 배포를 자동화하는 방법을 소개하는 것입니다. Docker Compose를 사용하여 컨테이너화된 애플리케이션을 관리하고 Nginx를 역방향 프록시 서버로 사용하면서 MariaDB 데이터베이스와 통합할 것입니다. 이 기사에서는 독자가 자동화된 배포 프로세스를 구현하는 데 도움이 되는 특정 코드 예제를 제공합니다.
기존 배포 방법에서는 서버 환경을 구성, 설치 및 관리하는 것이 매우 번거로울 수 있습니다. Docker Compose를 사용하면 이 프로세스가 단순화되어 애플리케이션을 빠르고 안정적으로 배포할 수 있습니다.
먼저 대상 서버에 Docker 및 Docker Compose를 설치해야 합니다. 구체적인 설치 방법은 Docker 공식 문서를 참조하세요.
프로젝트의 루트 디렉터리에 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 데이터베이스입니다.
프로젝트 루트 디렉터리에 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 코드를 구문 분석하고 실행할 수 있도록 하는 것입니다.
프로젝트의 루트 디렉터리에 php라는 디렉터리를 만들고 이 디렉터리에 PHP 애플리케이션을 작성합니다.
자동 배포 프로세스에 대한 모든 준비가 완료되었으므로 다음 명령을 사용하여 애플리케이션을 시작할 수 있습니다.
docker-compose up -d
이 명령은 docker-compose.yaml 파일에서 구성을 읽고 필요한 Docker 컨테이너를 자동으로 생성하고 실행합니다.
서버의 IP 주소나 도메인 이름을 브라우저에 입력하면 앱에 액세스할 수 있습니다.
이 문서에서는 Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 애플리케이션의 자동화된 배포를 달성하는 방법을 자세히 설명합니다. Docker Compose를 사용하여 컨테이너화된 애플리케이션을 관리하고 Nginx를 역방향 프록시 서버로 사용하여 MariaDB 데이터베이스와 통합합니다. 특정 코드 예제를 통해 독자는 자동화된 배포 프로세스를 더 잘 이해하고 구현할 수 있습니다. 이 자동화된 배포 솔루션은 개발 효율성을 향상시키고 시스템 구성 및 관리의 어려움을 줄여주며 현대 소프트웨어 개발의 중요한 부분입니다.
위 내용은 Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 애플리케이션 배포 프로세스 자동화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!