Docker Compose、Nginx、MariaDB を使用して高可用性 PHP アプリケーション クラスターを構築する

PHPz
リリース: 2023-10-12 08:40:01
オリジナル
939 人が閲覧しました

使用Docker Compose、Nginx和MariaDB构建高可用性的PHP应用程序集群

Docker Compose、Nginx、MariaDB を使用して高可用性 PHP アプリケーション クラスターを構築する

はじめに:

インターネットの普及に伴い、Web アプリケーション開発もそして展開はより複雑になります。 Web アプリケーションの可用性とスケーラビリティを向上させるために、多くの開発者はコンテナ化テクノロジーを使用して高可用性アプリケーション クラスターを構築し始めています。この記事では、Docker Compose、Nginx、MariaDB を使用して高可用性 PHP アプリケーション クラスターを構築する方法を紹介し、具体的なコード例を示します。

1. Docker と Docker Compose をインストールする

始める前に、Docker と Docker Compose をインストールする必要があります。 Docker はコンテナの作成と管理に使用できるコンテナ化テクノロジであり、Docker Compose はマルチコンテナ Docker アプリケーションを定義して実行するためのツールです。

まず、Docker をインストールする必要があります。 Docker 公式 Web サイトでオペレーティング システム用のインストール パッケージを見つけ、公式の手順に従ってインストールできます。

インストールが完了したら、ターミナルを開いて次のコマンドを実行して、Docker が正常にインストールされているかどうかを確認できます:

docker --version
ログイン後にコピー

次に、Docker Compose をインストールする必要があります。最新バージョンのバイナリを Docker Compose GitHub リポジトリからダウンロードし、システム ディレクトリに配置できます。

インストールが完了したら、次のコマンドを実行して、Docker Compose が正常にインストールされているかどうかを確認できます。

docker-compose --version
ログイン後にコピー

上記のコマンドが正常に実行された場合、Docker と Docker Compose は正常にインストールされています。

2. Docker Compose ファイルの作成

次に、PHP アプリケーション クラスターを定義するために、docker-compose.yml という名前のファイルを作成する必要があります。以下は基本的な例です:

version: '3' services: web: image: nginx:latest ports: - 80:80 volumes: - ./src:/var/www/html - ./nginx.conf:/etc/nginx/nginx.conf depends_on: - php php: image: php:7.4-fpm volumes: - ./src:/var/www/html db: image: mariadb:latest environment: - MYSQL_ROOT_PASSWORD=secret volumes: - ./data:/var/lib/mysql
ログイン後にコピー

上の例では、web、php、db の 3 つのサービスを定義しました。 Web サービスは、Nginx をリバース プロキシ サーバーとして使用し、php サービスで実行されている PHP アプリケーションにトラフィックを転送します。 php サービスは、PHP インタープリターとして PHP-FPM を使用し、アプリケーション コードをコンテナーの /var/www/html ディレクトリにマウントします。 db サービスは MariaDB をデータベース サーバーとして使用し、データ ストレージ ディレクトリをマウントします。

3. Nginx 設定ファイルの作成

Nginx サーバーを設定するには、nginx.conf という名前のファイルを作成する必要があります。以下は基本的な例です:

worker_processes auto; events { worker_connections 1024; } http { server { listen 80; server_name localhost; location / { proxy_pass http://php; proxy_set_header Host $host; } } }
ログイン後にコピー

上の例では、ポート 80 でリッスンし、トラフィックを php サービスにプロキシする単純な Nginx サーバーを定義しました。

4. PHP アプリケーションの作成

クラスターが適切に動作しているかどうかをテストするために、単純な PHP アプリケーションを作成する必要があります。以下は基本的な例です:

connect_error) { die("Connection failed: " . $conn->connect_error); } echo "Connected successfully to MariaDB server"; $conn->close(); ?>
ログイン後にコピー

上の例では、mydb という名前のデータベースを作成し、root ユーザーとシークレット パスワードを使用して MariaDB サーバーに接続しました。接続に成功すると「MariaDB サーバーに正常に接続されました」と出力されます。

5. アプリケーション クラスターの開始

ターミナルで docker-compose.yml ファイルがあるディレクトリに移動し、次のコマンドを実行してアプリケーション クラスターを開始します:

docker-compose up -d
ログイン後にコピー

このコマンドは、必要なイメージをダウンロードして開始し、コンテナーを作成して実行します。

6. アプリケーション クラスターのテスト

ブラウザーで http://localhost にアクセスすると、「MariaDB サーバーに正常に接続されました」という出力が表示されるはずです。これは、PHP アプリケーションが正常に動作していることを示しています。プログラムは MariaDB データベースに正常に接続しました。

7. アプリケーション クラスターの拡張と管理

docker-compose.yml ファイルを変更し、再度 docker-compose up -d コマンドを実行することで、アプリケーション クラスターを簡単に拡張および管理できます。 Web、php、db サービスのインスタンスの数を増減したり、必要に応じて構成を変更したりできます。

概要:

この記事では、Docker Compose、Nginx、MariaDB を使用して高可用性 PHP アプリケーション クラスターを構築する方法を紹介します。 Docker Compose を介して Nginx、PHP、MariaDB で構成されるマルチコンテナ アプリケーションを定義し、具体的なコード例を示しました。このクラスターを使用すると、アプリケーションを簡単に拡張および管理し、可用性と拡張性を向上させることができます。この記事が、可用性の高い PHP アプリケーション クラスターを構築する方法を理解するのに役立つことを願っています。

以上がDocker Compose、Nginx、MariaDB を使用して高可用性 PHP アプリケーション クラスターを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!