ホームページ バックエンド開発 PHPチュートリアル Docker Compose、Nginx、MariaDB を使用した PHP アプリケーションのパフォーマンス問題の最適化

Docker Compose、Nginx、MariaDB を使用した PHP アプリケーションのパフォーマンス問題の最適化

Oct 12, 2023 pm 12:55 PM
nginx mariadb docker compose

使用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 アプリケーションのパフォーマンスを最適化する方法を詳しく紹介します。

  1. 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 ディレクトリにマウントします。

  1. 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 も設定しました。

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

次に、パフォーマンス最適化の効果をテストするために、単純な PHP アプリケーションを作成する必要があります。 ./public ディレクトリにindex.php という名前のファイルを作成し、次の内容を追加します:

<?php
echo "Hello, Docker!";
?>
ログイン後にコピー
  1. コンテナの開始

ターミナルに docker-compose と入力します。ファイルを開き、次のコマンドを実行してコンテナを起動します:

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

これにより、バックグラウンドで定義したすべてのコンテナが起動して実行されます。

  1. テスト パフォーマンス

これで、ブラウザーで 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 サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Dockerコンテナの名前を確認する方法 Dockerコンテナの名前を確認する方法 Apr 15, 2025 pm 12:21 PM

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

Nginxバージョンを確認する方法 Nginxバージョンを確認する方法 Apr 14, 2025 am 11:57 AM

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

nginxでクラウドサーバードメイン名を構成する方法 nginxでクラウドサーバードメイン名を構成する方法 Apr 14, 2025 pm 12:18 PM

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

Windowsでnginxを構成する方法 Windowsでnginxを構成する方法 Apr 14, 2025 pm 12:57 PM

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

Nginxが開始されるかどうかを確認する方法 Nginxが開始されるかどうかを確認する方法 Apr 14, 2025 pm 01:03 PM

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

Docker用のコンテナを作成する方法 Docker用のコンテナを作成する方法 Apr 15, 2025 pm 12:18 PM

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

nginxサーバーを開始する方法 nginxサーバーを開始する方法 Apr 14, 2025 pm 12:27 PM

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によってコンテナを起動する方法 Dockerによってコンテナを起動する方法 Apr 15, 2025 pm 12:27 PM

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

See all articles