>  기사  >  백엔드 개발  >  Docker Compose, Nginx 및 MariaDB를 사용한 PHP 애플리케이션의 재해 복구 및 복구

Docker Compose, Nginx 및 MariaDB를 사용한 PHP 애플리케이션의 재해 복구 및 복구

WBOY
WBOY원래의
2023-10-12 10:16:471015검색

通过Docker Compose、Nginx和MariaDB实现PHP应用程序的灾备和恢复

Docker Compose, Nginx 및 MariaDB를 사용하는 PHP 애플리케이션의 재해 복구 및 복구

재해 복구 및 복구는 중요한 주제이며 모든 애플리케이션에 매우 중요합니다. 최신 클라우드 컴퓨팅 환경에서는 컨테이너화 기술을 사용하여 애플리케이션 재해 복구 및 복구를 쉽게 달성할 수 있습니다. 이 기사에서는 Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 애플리케이션의 재해 복구 및 복구를 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.

먼저 애플리케이션의 다양한 구성 요소와 이들 간의 관계를 설명하는 Docker Compose 파일을 정의해야 합니다. 다음은 간단한 예입니다.

version: '3'
services:
  web:
    build: .
    ports:
      - 80:80
    depends_on:
      - db
    networks:
      - app-network
  db:
    image: mariadb:latest
    ports:
      - 3306:3306
    environment:
      - MYSQL_ROOT_PASSWORD=secret
    volumes:
      - db-data:/var/lib/mysql
    networks:
      - app-network
networks:
  app-network:
volumes:
  db-data:

위의 Docker Compose 파일은 웹과 DB라는 두 가지 서비스를 정의합니다. 웹 서비스는 PHP 애플리케이션이며 Nginx를 통해 실행됩니다. db 서비스는 애플리케이션의 데이터를 저장하는 데 사용되는 MariaDB 데이터베이스입니다.

다음으로 요청을 PHP 애플리케이션으로 전달하기 위해 Nginx 구성 파일을 작성해야 합니다. 다음은 샘플 구성 파일입니다.

server {
    listen 80;
    server_name example.com;
    root /var/www/html;
    location ~ .php$ {
        fastcgi_pass web:9000;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

위 구성 파일에서는 fastcgi_pass 지시문을 사용하여 포트 번호가 9000인 web이라는 Docker 서비스에 요청을 전달합니다.

마지막으로 PHP 애플리케이션을 작성하고 위 코드와 함께 컨테이너 이미지로 패키징해야 합니다. 아래는 간단한 PHP 애플리케이션 예제입니다.

<?php
$servername = "db";
$username = "root";
$password = "secret";
$dbname = "mydb";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接是否成功
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

// 执行查询
$sql = "SELECT * FROM users";
$result = $conn->query($sql);

// 输出结果
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
    }
} else {
    echo "0 结果";
}

// 关闭连接
$conn->close();
?>

위 PHP 애플리케이션은 db라는 MariaDB 데이터베이스에 연결하여 쿼리를 실행하는 간단한 데이터베이스 쿼리 예제입니다. 쿼리 결과가 브라우저에 출력됩니다.

재난 대비 및 복구를 달성하기 위해 Docker Compose 명령을 사용하여 애플리케이션을 시작하고 중지할 수 있습니다. 다음은 일반적으로 사용되는 몇 가지 명령 예입니다.

# 启动应用程序
docker-compose up -d

# 停止应用程序
docker-compose down

이러한 명령을 사용하면 애플리케이션 인스턴스를 쉽게 생성하고 제거하여 재해 대비 및 복구 목표를 달성할 수 있습니다.

요약:

Docker Compose, Nginx 및 MariaDB를 사용하면 재해 복구 및 PHP 애플리케이션 복구를 쉽게 구현할 수 있습니다. 컨테이너화 기술을 사용하면 애플리케이션 인스턴스를 신속하게 배포 및 제거하고 Nginx를 역방향 프록시로 사용하여 트래픽의 로드 밸런싱을 달성할 수 있습니다. MariaDB는 애플리케이션 데이터를 저장하고 관리하기 위한 강력한 데이터베이스 기능을 제공합니다. 위에 제공된 코드 예제는 독자가 이러한 기능을 구현하고 이를 기반으로 자신의 애플리케이션을 사용자 정의하는 방법을 이해하는 데 도움이 될 수 있습니다.

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

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