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 중국어 웹사이트의 기타 관련 기사를 참조하세요!