Docker Compose、Nginx、MariaDB のベスト プラクティス: デプロイされた PHP アプリケーションの監視と最適化
はじめに:
現代のアプリケーション開発では、コンテナーの変換が行われています。これは、アプリケーションの管理と展開を改善するのに役立つ一般的な方法です。 Docker Compose は、複数のコンテナを定義して実行するためのツールであり、アプリケーションのデプロイと管理のプロセスを簡素化します。この記事では、Docker Compose を Nginx および MariaDB と組み合わせて使用して、PHP アプリケーションをデプロイおよび最適化する方法を紹介し、具体的なコード例を示します。
version: '3' services: nginx: image: nginx ports: - "80:80" volumes: - ./nginx.conf:/etc/nginx/nginx.conf depends_on: - php php: image: php:7.4-fpm volumes: - ./php.ini:/usr/local/etc/php/php.ini - ./app:/var/www/html depends_on: - mariadb mariadb: image: mariadb environment: - MYSQL_ROOT_PASSWORD=123456 volumes: - ./data:/var/lib/mysql
この例では、nginx、php、mariadb の 3 つのサービスを定義します。 nginx サービスはホストのポート 80 をリッスンし、リクエストを処理のために php サービスに転送します。 php サービスは php:7.4-fpm イメージを使用し、php.ini およびアプリケーション ファイル ディレクトリをマウントします。 mariadb サービスは、mariadb ミラーを使用し、データベースの root パスワードを設定し、データ ディレクトリをマウントします。
worker_processes auto; events { worker_connections 1024; } http { # 其他配置项省略 server { listen 80; server_name localhost; root /var/www/html; location / { try_files $uri $uri/ /index.php$is_args$args; } location ~ .php$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } }
この例では、Nginx ワーカー プロセスの数、イベント接続の数、および http サービスを構成します。サーバー ブロックでは、ポート 80 をリッスンし、ルート ディレクトリを設定し、PHP スクリプトを処理するメソッドを定義しました。 fastcgi_pass ディレクティブを PHP サービスのコンテナー アドレスに変更することに注意してください。
<?php $host = 'mariadb'; $user = 'root'; $password = '123456'; $database = 'mydb'; $conn = new mysqli($host, $user, $password, $database); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } echo "Connected successfully"; $conn->close(); ?>
この例では、ホスト名として mariadb を使用し、前に定義した root パスワードを使用しました。
docker-compose up -d
このコマンドは、定義されているすべてのサービスを開始しますバックグラウンドで実行されます。
docker stats
コマンドを使用して、各コンテナーのリソース使用状況を確認すると、異常やパフォーマンスを見つけることができます。時間のボトルネック。 docker-compose logs
コマンドを使用してコンテナーのログ情報を表示し、エラーや問題をすばやく見つけます。 結論:
この記事では、Docker Compose、Nginx、MariaDB を使用して PHP アプリケーションをデプロイおよび最適化する方法を、具体的なコード例を挙げて紹介します。コンテナ化された展開により、アプリケーションの管理と拡張が容易になり、監視と最適化を通じてアプリケーションのパフォーマンスと安定性が向上します。この記事が PHP アプリケーションをデプロイする際のお役に立てれば幸いです。
以上がDocker Compose、Nginx、MariaDB のベスト プラクティス: デプロイされた PHP アプリケーションの監視と最適化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。