Docker Compose、Nginx、MariaDB を使用した PHP アプリケーションのパフォーマンス問題の最適化
Docker Compose、Nginx、MariaDB を使用した PHP アプリケーションのパフォーマンス問題の最適化
PHP アプリケーションを開発およびデプロイするときに、パフォーマンスの問題が頻繁に発生します。これらの問題を解決するには、Docker Compose、Nginx、MariaDB を活用してアプリケーションのパフォーマンスを最適化します。
Docker Compose は、複数の Docker コンテナーを定義および管理するためのツールです。これは、Nginx、PHP、MariaDB などの複数のコンテナーを簡単に作成して実行するのに役立ちます。 Nginx は高性能 Web サーバーですが、MariaDB は一般的なリレーショナル データベースです。
以下では、Docker Compose、Nginx、MariaDB を使用して PHP アプリケーションのパフォーマンスを最適化する方法を詳しく紹介します。
- Docker Compose ファイルの作成
まず、コンテナを定義するために Docker Compose ファイルを作成する必要があります。 docker-compose.yml というファイルで、コンテナは次のように定義できます。
version: '3' services: nginx: image: nginx:latest ports: - 80:80 volumes: - ./nginx.conf:/etc/nginx/nginx.conf - ./public:/var/www/html php: image: php:7.4-fpm volumes: - ./public:/var/www/html mariadb: image: mariadb:latest environment: MYSQL_ROOT_PASSWORD: root volumes: - ./data:/var/lib/mysql
上の例では、nginx、php、mariadb の 3 つのサービスを定義しました。 Nginx サービスは、最新バージョンの Nginx イメージを使用し、ホストのポート 80 をコンテナのポート 80 にマップします。また、ローカルの nginx.conf ファイルをコンテナーにマウントして、Nginx 構成をカスタマイズしました。 PHP サービスは PHP 7.4-fpm イメージを使用し、ホストの ./public ディレクトリをコンテナ内の /var/www/html ディレクトリにマウントします。 MariaDB サービスは、最新バージョンの MariaDB イメージを使用し、root ユーザーのパスワードを設定し、ホストの ./data ディレクトリをコンテナ内の /var/lib/mysql ディレクトリにマウントします。
- Nginx 構成ファイルを作成する
次に、Nginx 構成ファイルを作成する必要があります。 docker-compose.yml ファイルと同じディレクトリに nginx.conf という名前のファイルを作成し、次の例に従って構成します。
user nginx; worker_processes auto; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; root /var/www/html; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ .php$ { fastcgi_pass php:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
上の例では、localhost サーバー ブロックという名前のファイルを定義し、listen しました。ポート80で。ルート ディレクトリは /var/www/html に設定され、すべてのリクエストは処理のためにindex.phpに送信されます。同時に、PHP リクエストを PHP コンテナのポート 9000 に転送するように fastcgi_pass も設定しました。
- PHP アプリケーションの作成
次に、パフォーマンス最適化の効果をテストするために、単純な PHP アプリケーションを作成する必要があります。 ./public ディレクトリにindex.php という名前のファイルを作成し、次の内容を追加します:
<?php echo "Hello, Docker!"; ?>
- コンテナの開始
ターミナルに docker-compose と入力します。ファイルを開き、次のコマンドを実行してコンテナを起動します:
docker-compose up -d
これにより、バックグラウンドで定義したすべてのコンテナが起動して実行されます。
- テスト パフォーマンス
これで、ブラウザーで http://localhost にアクセスでき、出力 Hello, Docker! が表示されるはずです。これは、PHP アプリケーションが正常に実行されたことを意味します。
Docker Compose、Nginx、MariaDB を使用すると、複数のコンテナを簡単に作成および管理でき、Nginx を高性能 Web サーバーとして、MariaDB をデータベースとして使用できます。これにより、PHP アプリケーションのパフォーマンスが大幅に向上します。
これは単なる例であり、独自のニーズに応じてより高度な最適化を実行できることに注意してください。たとえば、Redis などのキャッシュ ツールを使用してパフォーマンスを向上させたり、負荷分散ツールを使用して負荷のバランスをとったりします。
概要
Docker Compose、Nginx、MariaDB を使用して PHP アプリケーションのパフォーマンスの問題を最適化することは、比較的シンプルで効果的な方法です。 Docker を使用してコンテナを管理およびデプロイすることで、安定した高パフォーマンスの PHP アプリケーション環境を簡単に構築できます。この記事の紹介があなたのお役に立てば幸いです。
以上がDocker Compose、Nginx、MariaDB を使用した PHP アプリケーションのパフォーマンス問題の最適化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

nginxバージョンを照会できるメソッドは次のとおりです。nginx-vコマンドを使用します。 nginx.confファイルでバージョンディレクティブを表示します。 nginxエラーページを開き、ページタイトルを表示します。

クラウドサーバーでnginxドメイン名を構成する方法:クラウドサーバーのパブリックIPアドレスを指すレコードを作成します。 NGINX構成ファイルに仮想ホストブロックを追加し、リスニングポート、ドメイン名、およびWebサイトルートディレクトリを指定します。 nginxを再起動して変更を適用します。ドメイン名のテスト構成にアクセスします。その他のメモ:SSL証明書をインストールしてHTTPSを有効にし、ファイアウォールがポート80トラフィックを許可し、DNS解像度が有効になることを確認します。

Windowsでnginxを構成する方法は? nginxをインストールし、仮想ホスト構成を作成します。メイン構成ファイルを変更し、仮想ホスト構成を含めます。 nginxを起動またはリロードします。構成をテストし、Webサイトを表示します。 SSLを選択的に有効にし、SSL証明書を構成します。ファイアウォールを選択的に設定して、ポート80および443のトラフィックを許可します。

nginxが開始されるかどうかを確認する方法:1。コマンドラインを使用します:SystemCTLステータスnginx(Linux/unix)、netstat -ano | FindStr 80(Windows); 2。ポート80が開いているかどうかを確認します。 3.システムログのnginx起動メッセージを確認します。 4. Nagios、Zabbix、Icingaなどのサードパーティツールを使用します。

Dockerでコンテナを作成します。1。画像を引く:Docker Pull [ミラー名]2。コンテナを作成:Docker Run [Options] [Mirror Name] [コマンド]3。コンテナを起動:Docker Start [Container Name]

NGINXサーバーを起動するには、異なるオペレーティングシステムに従って異なる手順が必要です。Linux/UNIXシステム:NGINXパッケージをインストールします(たとえば、APT-GetまたはYumを使用)。 SystemCtlを使用して、NGINXサービスを開始します(たとえば、Sudo SystemCtl Start NGinx)。 Windowsシステム:Windowsバイナリファイルをダウンロードしてインストールします。 nginx.exe実行可能ファイルを使用してnginxを開始します(たとえば、nginx.exe -c conf \ nginx.conf)。どのオペレーティングシステムを使用しても、サーバーIPにアクセスできます

Docker Containerの起動手順:コンテナ画像を引く:「Docker Pull [Mirror Name]」を実行します。コンテナの作成:「docker create [options] [mirror name] [コマンドとパラメーター]」を使用します。コンテナを起動します:「docker start [container name or id]」を実行します。コンテナのステータスを確認してください:コンテナが「Docker PS」で実行されていることを確認します。
