>  기사  >  백엔드 개발  >  Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 애플리케이션의 용량 계획 최적화

Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 애플리케이션의 용량 계획 최적화

WBOY
WBOY원래의
2023-10-12 10:25:54939검색

使用Docker Compose、Nginx和MariaDB优化PHP应用程序的容量规划

Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 애플리케이션의 용량 계획을 최적화하세요.

인터넷이 지속적으로 발전하면서 점점 더 많은 애플리케이션이 PHP를 개발 언어로 채택하고 있습니다. 그러나 PHP 애플리케이션은 높은 동시성 및 대용량 데이터로 인해 성능 병목 현상이 발생하는 경우가 많습니다. PHP 애플리케이션의 성능과 용량을 향상시키기 위해 Docker Compose, Nginx 및 MariaDB를 함께 사용하여 용량 계획 및 최적화를 수행할 수 있습니다.

Docker Compose는 다중 컨테이너 애플리케이션을 정의하고 관리하는 데 사용할 수 있는 Docker용 도구입니다. Docker Compose를 사용하면 PHP, Nginx, MariaDB 등을 포함한 여러 컨테이너를 하나의 파일에 정의하고 배포할 수 있습니다. 이러한 방식으로 PHP 애플리케이션의 개발 및 운영 환경을 빠르고 쉽게 설정할 수 있습니다.

Nginx는 역방향 프록시 서버 기능도 갖춘 고성능 HTTP 서버입니다. Nginx를 PHP 애플리케이션의 프런트엔드 서버로 사용하면 로드 밸런싱, 정적 리소스 캐싱, HTTPS 지원 및 기타 기능을 달성하여 PHP 애플리케이션의 성능과 용량을 향상시킬 수 있습니다.

MariaDB는 오픈 소스 관계형 데이터베이스 관리 시스템이자 MySQL의 한 분야입니다. MariaDB를 사용하면 데이터 저장, 읽기, 업데이트와 같은 PHP 애플리케이션의 데이터베이스 관련 작업을 처리할 수 있습니다. MariaDB는 고성능, 높은 신뢰성, 확장성의 특징을 갖고 있으며 PHP 애플리케이션의 용량 계획 및 최적화에 중요한 역할을 합니다.

다음에서는 간단한 PHP 애플리케이션을 예로 들어 용량 계획 및 최적화를 위해 Docker Compose, Nginx 및 MariaDB를 사용하는 구체적인 단계와 코드 예를 보여줍니다.

먼저 docker-compose.yml이라는 파일을 생성하여 PHP, Nginx 및 MariaDB 컨테이너의 구성과 배포를 정의하고 관리합니다. 다음은 docker-compose.yml 파일 예시의 내용입니다.

version: '3'
services:
  web:
    build: .
    restart: always
    ports:
      - 80:80
    volumes:
      - ./app:/var/www/html
  db:
    image: mariadb
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=example
      - MYSQL_DATABASE=example
      - MYSQL_USER=example
      - MYSQL_PASSWORD=example

위의 예시에서 web이라는 서비스는 PHP 애플리케이션을 실행하는 컨테이너에 대해 정의됩니다. 빌드 필드는 컨테이너를 빌드하는 데 사용되는 Dockerfile을 지정하고, 다시 시작 필드는 컨테이너의 다시 시작 전략을 지정하고, 포트 필드는 컨테이너와 호스트 간의 포트 매핑 관계를 지정하고, 볼륨 필드는 컨테이너 간의 디렉터리 매핑 관계를 지정합니다. 그리고 호스트.

다음으로, PHP 애플리케이션 컨테이너 구축을 위한 구성 및 종속성을 정의하는 Dockerfile이라는 파일을 만듭니다. 다음은 Dockerfile 파일 콘텐츠의 예입니다.

FROM php:7.4-apache
COPY src/ /var/www/html/

위의 예에서 기본 이미지 php:7.4-apache는 PHP 애플리케이션 컨테이너를 구축하기 위한 기본 환경으로 사용되며 COPY 명령은 PHP 애플리케이션을 로컬 src 디렉터리. 파일이 컨테이너 내의 /var/www/html 디렉터리에 복사됩니다.

그런 다음 Nginx 컨테이너의 구성을 정의하는 default.conf라는 파일을 만듭니다. 다음은 default.conf 파일 예시의 내용입니다.

server {
    listen 80;
    server_name localhost;
    root /var/www/html;

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

    location ~ .php$ {
        try_files $uri =404;
        fastcgi_pass web:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_errors.log";
        include fastcgi_params;
    }

    location ~ /.ht {
        deny all;
    }
}

위의 예시에서는 Nginx의 요청 처리를 위한 포트, 도메인 이름, 루트 디렉터리 및 규칙을 지정하여 server라는 서버 블록이 정의됩니다. 그 중 위치/블록은 정적 리소스와 PHP 요청을 처리하는 데 사용되며, 위치 ~.php$ 블록은 PHP 스크립트 실행을 처리하는 데 사용됩니다.

마지막으로 명령줄에서 docker-compose.yml 파일이 있는 디렉터리로 전환하고 다음 명령을 실행하여 PHP, Nginx 및 MariaDB 컨테이너의 실행을 시작하고 관리할 수 있습니다.

docker-compose up -d

위 단계를 사용하여 Docker Compose, Nginx, MariaDB를 이용하여 최적화된 PHP 애플리케이션에 대한 용량 계획 및 최적화 환경을 쉽고 빠르게 구축할 수 있습니다. 이러한 방식으로 PHP 애플리케이션의 성능과 용량이 크게 향상되고 높은 동시성 및 대용량 데이터 볼륨 요구 사항에 더 잘 대처할 수 있습니다.

요약하자면 용량 계획 및 최적화를 위해 Docker Compose, Nginx 및 MariaDB를 결합하면 PHP 애플리케이션의 성능과 용량을 효과적으로 향상시킬 수 있습니다. 실제 애플리케이션에서는 특정 요구 사항과 실제 조건에 따라 구성을 조정하고 최적화하여 PHP 애플리케이션의 성능과 용량을 더욱 향상시킬 수 있습니다.

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

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