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 アプリケーションのパフォーマンスを向上させることができます。
- 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
ファイルを通じて渡します。代替品。
- 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 のパフォーマンスを向上させることができます。
- 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
ディレクトリに保存します。
- 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 サイトの他の関連記事を参照してください。

ホット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)

ホットトピック









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

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

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

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

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

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

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