>  기사  >  백엔드 개발  >  Docker Compose, Nginx 및 MariaDB를 사용한 PHP 애플리케이션의 데이터 관리

Docker Compose, Nginx 및 MariaDB를 사용한 PHP 애플리케이션의 데이터 관리

王林
王林원래의
2023-10-12 08:01:45648검색

通过Docker Compose、Nginx和MariaDB实现PHP应用程序的数据管理

Docker Compose, Nginx 및 MariaDB를 통한 PHP 애플리케이션의 데이터 관리

소개: 오늘날의 소프트웨어 개발에서 컨테이너화는 매우 인기 있는 기술이 되었으며 선두주자인 Docker는 편리하고 안정적인 컨테이너화 솔루션을 제공합니다. 이 기사에서는 Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 애플리케이션에 대한 데이터 관리를 구현하는 방법을 살펴보겠습니다.

1. 도커 컴포즈(Docker Compose)란 무엇인가요?
Docker Compose는 여러 Docker 컨테이너를 정의하고 실행하기 위한 도구입니다. YAML 파일을 사용하여 애플리케이션의 서비스를 구성합니다. Docker Compose를 사용하면 여러 컨테이너를 쉽게 시작, 중지 및 관리할 수 있으며 각 컨테이너에 대한 매개변수와 구성을 지정할 수 있습니다.

2. Docker Compose 및 Nginx를 사용하여 PHP 애플리케이션 구성

  1. Docker 및 Docker Compose 설치
    먼저 Docker 및 Docker Compose를 설치해야 합니다. 자세한 설치 단계는 공식 Docker 웹사이트에서 확인할 수 있습니다.
  2. Docker Compose 파일 생성
    프로젝트의 루트 디렉터리에 docker-compose.yml이라는 파일을 생성하고 다음 콘텐츠를 추가합니다.

    version: '3'
    services:
      nginx:
        image: nginx:latest
        ports:
          - 80:80
        volumes:
          - ./nginx.conf:/etc/nginx/nginx.conf
          - ./www:/var/www/html
      php:
        image: php:7.4-fpm
        volumes:
          - ./www:/var/www/html
      mariadb:
        image: mariadb:latest
        restart: always
        environment:
          MYSQL_ROOT_PASSWORD: your_root_password
          MYSQL_DATABASE: your_database_name
          MYSQL_USER: your_mysql_username
          MYSQL_PASSWORD: your_mysql_password

    이 구성 파일은 Nginx, PHP 및 MariaDB의 세 가지 서비스를 정의합니다. Nginx 서비스는 nginx:latest 이미지를 사용하고 호스트의 포트 80을 컨테이너의 포트 80에 매핑합니다. PHP 서비스는 php:7.4-fpm 이미지를 사용하여 공유 볼륨을 통해 호스트의 www 디렉터리를 컨테이너의 /var/www/html 디렉터리에 매핑합니다. MariaDB 서비스는 mariadb:latest 이미지를 사용하고 데이터베이스의 루트 비밀번호와 데이터베이스 이름, 사용자 이름 및 비밀번호를 설정합니다. 실제 필요에 따라 이러한 매개변수를 수정하십시오.

  3. Nginx 구성
    프로젝트의 루트 디렉터리에 nginx.conf라는 파일을 만들고 다음 콘텐츠를 추가하세요.

    server {
      listen 80;
      server_name localhost;
      root /var/www/html;
      index index.php;
    
      location / {
        try_files $uri $uri/ /index.php?$query_string;
      }
    
      location ~ .php$ {
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
      }
    }

    이 구성 파일은 Nginx의 기본 구성을 정의하고 모든 요청을 index.php 파일로 리디렉션합니다. PHP 애플리케이션 구문 분석.

  4. Docker 컨테이너 시작
    다음 명령을 실행하여 Docker 컨테이너를 시작합니다.

    docker-compose up -d

    이 명령은 구성 파일에 정의된 모든 서비스를 시작하고 백그라운드 모드에서 실행합니다.

  5. MariaDB에 연결
    모든 MySQL 클라이언트를 사용하여 이전에 구성 파일에 설정한 사용자 이름과 비밀번호를 사용하여 MariaDB 데이터베이스에 연결할 수 있습니다.

3. 결론
Docker Compose, Nginx, MariaDB를 사용하면 PHP 애플리케이션의 데이터를 쉽게 구성하고 관리할 수 있습니다. 이 컨테이너화된 솔루션은 편리한 배포 및 확장을 제공할 뿐만 아니라 데이터 보안과 안정성도 보장합니다. 이 글이 여러분의 공부와 실천에 도움이 되기를 바랍니다.

코드 예제와 프로젝트 구조는 다음을 참조하세요: https://github.com/example/docker-compose-php-n...

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

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