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

Docker Compose、Nginx、MariaDB を使用して PHP アプリケーションのデータベース パフォーマンスを最適化する

Oct 12, 2023 am 08:09 AM
nginx mariadb docker compose

使用Docker Compose、Nginx和MariaDB优化PHP应用程序的数据库性能

Docker Compose、Nginx、MariaDB を使用して PHP アプリケーションのデータベース パフォーマンスを最適化する

はじめに:
PHP アプリケーションを開発およびデプロイする場合、データベースのパフォーマンスは重要な考慮事項です。データベースのパフォーマンスを向上させるために、いくつかのツールとテクニックを使用してデータベースを最適化できます。この記事では、Docker Compose、Nginx、MariaDB を使用して PHP アプリケーションのデータベース パフォーマンスを最適化する方法を紹介します。

1. Docker Compose の概要
Docker Compose は、複数の Docker コンテナを簡単に定義して実行するのに役立つコンテナ オーケストレーション ツールです。 Docker Compose を使用すると、複雑なアプリケーションを簡単にデプロイおよび管理できます。

2. Nginx の最適化
Nginx は、静的リソースのキャッシュと負荷分散を提供できる高性能リバース プロキシ サーバーです。 PHP-FPM で Nginx を使用すると、PHP アプリケーションのパフォーマンスを向上させることができます。

  1. Nginx コンテナを定義する
    まず、Docker Compose ファイルで Nginx コンテナを定義します。以下は例です:
version: '3'
services:
  nginx:
    image: nginx:latest
    volumes:
      - ./nginx.conf:/etc/nginx/conf.d/default.conf
    ports:
      - 80:80
    depends_on:
      - php
ログイン後にコピー

上の例では、最新バージョンの Nginx イメージを使用し、そのデフォルト設定ファイルをローカルの nginx.conf ファイルを通じて渡します。代替品。

  1. Nginx キャッシュと負荷分散の構成
    Nginx 構成ファイルでは、PHP アプリケーションのパフォーマンスを向上させるために、いくつかのキャッシュと負荷分散戦略を構成できます。以下は例です:
server {
    listen 80;
    server_name example.com;
    
    location / {
        proxy_pass http://php;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        
        proxy_cache_bypass  $http_upgrade;
        proxy_set_header   Upgrade          $http_upgrade;
        proxy_set_header   Connection       "upgrade";

        proxy_cache_path /tmp/nginx levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m;
        proxy_temp_path  /tmp/nginx/temp;

        proxy_ignore_headers Cache-Control;

        proxy_cache my_cache;
        proxy_cache_valid  200 302  60m;
        proxy_cache_valid  404      1m;
        proxy_cache_valid  any      1m;
    }
}
ログイン後にコピー

上の例では、すべてのリクエストを php という名前の PHP-FPM コンテナに転送するようにリバース プロキシを構成しました。さらに、応答速度を向上させるために、一部の静的リソースをキャッシュするプロキシ キャッシュも構成しました。

3. MariaDB の最適化
MariaDB は、高いパフォーマンスとスケーラビリティを提供する人気のリレーショナル データベースです。いくつかの最適化構成を使用すると、MariaDB のパフォーマンスを向上させることができます。

  1. MariaDB コンテナを定義する
    Docker Compose ファイルで、データベースを実行するための MariaDB コンテナを定義できます。以下は例です:
version: '3'
services:
  mysql:
    image: mariadb:latest
    volumes:
      - ./data:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=secret
    ports:
      - 3306:3306
ログイン後にコピー

上の例では、最新バージョンの MariaDB ミラーリングを使用し、データベース データをローカルの data ディレクトリに保存します。

  1. MariaDB 構成の最適化
    MariaDB コンテナーでは、いくつかの構成ファイルをコンテナーにマウントすることでデータベースのパフォーマンスを最適化できます。以下に例を示します。
version: '3'
services:
  mysql:
    image: mariadb:latest
    volumes:
      - ./data:/var/lib/mysql
      - ./my.cnf:/etc/mysql/my.cnf
    environment:
      - MYSQL_ROOT_PASSWORD=secret
    ports:
      - 3306:3306
ログイン後にコピー

上記の例では、ローカルの my.cnf 構成ファイルを MariaDB コンテナ my の /etc/mysql/ にマウントします。 cnf パス。この構成ファイルでは、MariaDB のパフォーマンスを向上させるためにいくつかの最適化パラメーターを設定できます。

4. PHP アプリケーションの構成
PHP アプリケーションでは、いくつかの構成を通じてデータベースのパフォーマンスをさらに最適化することもできます。以下に例を示します。

$db = new PDO('mysql:host=localhost;dbname=mydb', 'user', 'pass');
$db->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);
ログイン後にコピー

上記の例では、バッファされたクエリの使用を無効にすることでデータベースのパフォーマンスを向上させます。これによりメモリ使用量が削減され、PHP アプリケーションの応答性が向上します。

結論:
Docker Compose、Nginx、MariaDB を使用すると、PHP アプリケーションのデータベース パフォーマンスを簡単に最適化できます。 Nginx のキャッシュと負荷分散を設定することで、静的リソースのアクセス速度を向上させることができます。 MariaDB の構成を最適化することで、データベースのパフォーマンスを向上させることができます。同時に、いくつかの PHP アプリケーションの構成を通じて、データベースのパフォーマンスをさらに最適化できます。この記事が、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)

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

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

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

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

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:21 PM

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

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などのサードパーティツールを使用します。

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

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

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」で実行されていることを確認します。

nginx apacheを実行する方法 nginx apacheを実行する方法 Apr 14, 2025 pm 12:33 PM

nginxをApacheを実行するには、次のことが必要です。1。nginxとapacheをインストールします。 2。nginxエージェントを構成します。 3。nginxとapacheを起動します。 4.構成をテストして、ドメイン名にアクセスした後にApacheコンテンツを確認できることを確認します。さらに、ポート番号マッチング、仮想ホスト構成、SSL/TLS設定など、他の問題に注意を払う必要があります。

See all articles