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 サイトの他の関連記事を参照してください。