ホームページ >バックエンド開発 >PHPチュートリアル >Docker Compose、Nginx、MariaDB を使用した PHP アプリケーションのディザスタ リカバリとリカバリ

Docker Compose、Nginx、MariaDB を使用した PHP アプリケーションのディザスタ リカバリとリカバリ

WBOY
WBOYオリジナル
2023-10-12 10:16:471086ブラウズ

通过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 ファイルは、web と db という 2 つのサービスを定義します。 Web サービスは 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

関連記事

続きを見る