>  기사  >  백엔드 개발  >  Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 애플리케이션의 네트워크 성능 최적화

Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 애플리케이션의 네트워크 성능 최적화

WBOY
WBOY원래의
2023-10-12 12:49:41834검색

使用Docker Compose、Nginx和MariaDB优化PHP应用程序的网络性能

Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 애플리케이션의 네트워크 성능을 최적화하세요.

소개:
오늘날 인터넷 시대에 네트워크 성능은 웹 애플리케이션의 안정성과 응답성에 매우 중요합니다. PHP 애플리케이션의 네트워크 성능을 향상시키기 위해 컨테이너화 기술인 Docker Compose, 효율적인 웹 서버 Nginx 및 안정적인 데이터베이스 MariaDB를 사용할 수 있습니다. 이 기사에서는 이러한 도구를 사용하여 PHP 애플리케이션의 네트워크 성능을 최적화하는 방법을 자세히 소개하고 특정 코드 예제를 제공합니다.

  1. Docker 및 Docker Compose 설치
    먼저 Docker와 Docker Compose를 설치해야 합니다. Docker는 애플리케이션을 쉽게 생성, 배포 및 관리할 수 있게 해주는 오픈 소스 컨테이너화 플랫폼입니다. Docker Compose는 여러 Docker 컨테이너를 정의하고 관리하는 데 사용되는 Docker 보조 도구입니다.
    자세한 설치 단계는 Docker 및 Docker Compose 공식 문서를 참조하세요.
  2. Docker Compose 파일 만들기
    다음으로 애플리케이션에 필요한 컨테이너와 서비스를 정의하는 Docker Compose 파일을 만들어야 합니다. 이 예에서는 Nginx를 웹 서버로, MariaDB를 데이터베이스로, PHP-FPM을 PHP 인터프리터로 사용합니다.

먼저 docker-compose.yml이라는 파일을 만들고 다음 콘텐츠로 채웁니다.

version: '3'

services:
  nginx:
    image: nginx:latest
    ports:
      - 80:80
    volumes:
      - ./nginx:/etc/nginx/conf.d
      - ./html:/var/www/html
    depends_on:
      - php
  php:
    image: php:7.4-fpm
    volumes:
      - ./html:/var/www/html
  mariadb:
    image: mariadb:latest
    ports:
      - 3306:3306
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=myapp
      - MYSQL_USER=myuser
      - MYSQL_PASSWORD=mypassword
    volumes:
      - ./mysql:/var/lib/mysql

위 구성 파일은 nginx, php, mariadb의 세 가지 서비스를 정의합니다. Nginx 서비스는 호스트의 포트 80을 수신하고 요청을 PHP 컨테이너에 프록시합니다. PHP 컨테이너는 PHP-FPM을 실행하고 웹사이트 파일을 /var/www/html 디렉터리에 마운트합니다. MariaDB 서비스는 호스트의 포트 3306을 수신하고 데이터베이스 파일을 /var/lib/mysql 디렉터리에 마운트합니다.

  1. Nginx 서버 구성
    Docker Compose 파일을 생성한 후 Nginx용 가상 호스트를 구성해야 합니다. 이 예에서는 default.conf라는 Nginx 구성 파일을 사용합니다. nginx/default.conf라는 파일을 만들고 다음 내용으로 채웁니다.
server {
    listen 80;
    server_name localhost;
    root /var/www/html/public;

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

    location ~ .php$ {
        include fastcgi_params;
        fastcgi_index index.php;
        fastcgi_pass php:9000;
        fastcgi_param SCRIPT_FILENAME /var/www/html/public/$fastcgi_script_name;
    }
}

위 구성 파일은 PHP 컨테이너에서 실행되는 PHP-FPM에 대한 모든 요청을 프록시하는 가상 호스트를 정의합니다. 또한 PHP 파일의 처리 방법과 경로를 설정합니다.

  1. Create PHP Application
    이제 html 디렉토리에 PHP 애플리케이션을 생성해야 합니다. 이 예에서는 간단한 "Hello, World!" 애플리케이션을 사용합니다.
    html 디렉터리에 index.php라는 파일을 만들고 다음 내용으로 채웁니다.
<?php
echo "Hello, World!";
  1. 컨테이너 시작
    위 단계를 완료한 후 Docker Compose 명령을 사용하여 컨테이너를 시작할 수 있습니다. 터미널에서 다음 명령을 실행합니다:
docker-compose up -d

이렇게 하면 Nginx, PHP 및 MariaDB 컨테이너가 시작되고 함께 연결됩니다.

  1. PHP 애플리케이션 테스트
    이제 브라우저에서 http://localhost에 액세스할 수 있으며 "Hello, World!" 출력을 볼 수 있습니다. 이는 PHP 애플리케이션이 올바르게 실행되고 있으며 최적화된 Nginx 및 MariaDB가 성능을 제공하고 있음을 나타냅니다.

결론:
Docker Compose, Nginx 및 Mariadb를 사용하여 PHP 애플리케이션의 네트워크 성능을 성공적으로 최적화했습니다. Docker Compose는 여러 컨테이너를 쉽게 정의하고 관리하는 데 도움이 되고 Nginx는 효율적인 웹 서버를 제공하며 MariaDB는 안정적이고 신뢰할 수 있는 데이터베이스를 제공합니다. 이러한 도구를 사용하면 PHP 애플리케이션의 응답성과 안정성을 크게 향상시킬 수 있습니다.

이 기사가 독자들이 Docker Compose, Nginx 및 Mariadb를 사용하여 PHP 애플리케이션의 네트워크 성능을 최적화하는 방법을 이해하고 실용적인 코드 예제를 제공하는 데 도움이 되기를 바랍니다. 실제 응용 프로그램에서는 특정 요구 사항에 따라 적절한 조정 및 최적화를 수행하십시오.

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

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