>  기사  >  백엔드 개발  >  Docker Compose, Nginx 및 MariaDB를 사용한 PHP 애플리케이션 자동 모니터링

Docker Compose, Nginx 및 MariaDB를 사용한 PHP 애플리케이션 자동 모니터링

王林
王林원래의
2023-10-12 10:46:441105검색

通过Docker Compose、Nginx和MariaDB实现PHP应用程序的自动化监控

Docker Compose, Nginx 및 MariaDB를 통한 PHP 애플리케이션 자동 모니터링

요약: 클라우드 컴퓨팅 및 컨테이너 기술의 인기로 인해 자동화된 모니터링은 개발, 운영 및 유지 관리 인력에게 필요한 기술 중 하나가 되었습니다. 이 기사에서는 Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 애플리케이션의 자동화된 모니터링을 실현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.

  1. 소개
    인터넷의 급속한 발전으로 점점 더 많은 기업과 기업이 PHP를 주요 개발 언어로 채택하고 있습니다. PHP 애플리케이션의 관리 및 모니터링은 운영 및 유지 관리 담당자에게 가장 골치 아픈 문제 중 하나입니다. 기존 모니터링 방법에는 수동 구성 및 배포가 필요하므로 작업량이 많고 오류가 발생하기 쉽습니다. 다행스럽게도 이제 Docker Compose, Nginx 및 MariaDB와 같은 기술을 활용하여 PHP 애플리케이션 모니터링을 자동화할 수 있습니다.
  2. Docker Compose 소개 및 설치
    Docker Compose는 다중 컨테이너 Docker 애플리케이션을 정의하고 실행하기 위한 도구입니다. YAML 파일을 사용하여 애플리케이션의 서비스를 구성한 다음 명령줄 도구를 사용하여 관리합니다. Docker Compose를 통해 Nginx, MariaDB 및 기타 컨테이너를 쉽게 정의하고 관리하여 자동화된 모니터링을 달성할 수 있습니다. Docker Compose 설치는 매우 간단합니다. 공식 웹사이트에서 해당 운영 체제의 바이너리 파일을 다운로드한 후 설치하면 됩니다.
  3. Nginx 구성 및 사용
    Nginx는 정적 파일과 동적 요청을 빠르게 처리할 수 있는 고성능 HTTP 및 역방향 프록시 서버입니다. Nginx는 PHP 애플리케이션의 자동화된 모니터링에서 중요한 역할을 합니다. Docker Compose를 사용하여 Nginx 컨테이너를 정의 및 실행한 다음 필요에 따라 구성할 수 있습니다. Nginx 구성 파일에서 URL 라우팅 규칙, 캐싱 전략, 로드 밸런싱 등을 정의하여 애플리케이션의 자동화된 모니터링을 실현할 수 있습니다. 다음은 간단한 Nginx 구성 파일 예입니다.
server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://php-app:80;
    }

    location /status {
        stub_status;
    }
}

위 구성 파일에서 example.com이라는 서버를 정의하고 요청을 php-app이라는 컨테이너의 포트 80으로 프록시합니다. 또한 Nginx 상태 정보를 얻기 위해 /status라는 경로를 추가했습니다. 위의 내용은 실제 요구 사항에 따라 Nginx를 추가로 구성하고 최적화할 수 있는 간단한 예입니다.

  1. MariaDB 구성 및 사용
    MariaDB는 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템이자 MySQL의 한 계열입니다. PHP 애플리케이션의 자동화된 모니터링에서 MariaDB는 애플리케이션의 데이터를 저장하는 데 사용됩니다. Docker Compose를 사용하여 MariaDB 컨테이너를 정의 및 실행하고 구성 파일을 통해 데이터베이스의 사용자 이름, 비밀번호 및 권한을 설정할 수 있습니다. 다음은 간단한 MariaDB 구성 파일 예입니다.
version: '3'
services:
  db:
    image: mariadb
    command: --default-authentication-plugin=mysql_native_password
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: myapp
      MYSQL_USER: myuser
      MYSQL_PASSWORD: mypassword
    volumes:
      - ./data:/var/lib/mysql

위 구성 파일에서는 db라는 서비스를 정의하고 MariaDB 미러를 사용합니다. 데이터베이스의 루트 비밀번호, 이름, 사용자 정보를 설정하고 데이터를 ./data 디렉터리에 저장했습니다. 실제 필요에 따라 MariaDB를 추가로 구성하고 최적화할 수 있습니다.

  1. PHP 애플리케이션 배포 및 모니터링
    Nginx 및 MariaDB 구성을 완료한 후 Docker Compose를 사용하여 PHP 애플리케이션을 배포하고 실행할 수 있습니다. 먼저 애플리케이션의 코드를 디렉터리에 배치하고 Dockerfile을 추가하여 컨테이너 구성을 정의해야 합니다. 다음은 간단한 Dockerfile 예입니다.
FROM php:7.4-apache
COPY src/ /var/www/html/

그런 다음 Docker Compose 파일에 php-app이라는 서비스를 추가하여 Nginx 및 MariaDB와 연결해야 합니다. 다음은 간단한 Docker Compose 파일 예입니다.

version: '3'
services:
  nginx:
      # Nginx的配置
  db:
      # MariaDB的配置
  php-app:
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - ./src:/var/www/html
    depends_on:
      - db

위 구성 파일에서 php-app이라는 서비스를 정의하고 위 Dockerfile과 애플리케이션 코드를 사용했습니다. 또한 애플리케이션의 코드 디렉터리를 컨테이너의 /var/www/html 디렉터리에 마운트하여 코드를 실시간으로 업데이트합니다. 마지막으로, dependency_on 키워드를 사용하여 php-app 서비스를 db 서비스와 연결하여 애플리케이션이 데이터베이스에 액세스할 수 있는지 확인합니다.

  1. 요약
    Docker Compose, Nginx 및 MariaDB를 사용하면 PHP 애플리케이션의 자동화된 모니터링을 쉽게 구현할 수 있습니다. 이 기사에서는 Docker Compose를 통해 Nginx, MariaDB 및 PHP 애플리케이션용 컨테이너를 정의 및 실행하는 방법을 소개하고 구체적인 구성 및 코드 예제를 제공합니다. 이 글이 독자들이 실제로 자동화 모니터링 기술을 더 잘 적용할 수 있도록 도움이 되기를 바랍니다.

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

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