Docker Compose、Nginx、MariaDB を使用した PHP アプリケーションの監視とログ管理
Docker Compose、Nginx、MariaDB を使用して PHP アプリケーションの監視とログ管理を実装する
Web アプリケーションを開発および運用する場合、監視とログ管理は非常に重要な重要な部分です。 Docker Compose、Nginx、MariaDB を使用すると、完全な監視およびログ管理ソリューションを実装できます。
まず、PHP アプリケーションを準備し、Docker イメージとして記述する必要があります。この PHP アプリケーションは、単純な静的ページ、または PHP コードを含む動的アプリケーションにすることができます。どちらであっても、Docker イメージにパッケージ化する必要があります。
次に、アプリケーションの環境全体を定義するために Docker Compose ファイルを作成する必要があります。このファイルでは、Nginx、PHP、MariaDB の 3 つのサービスを定義する必要があります。
version: '3' services: web: image: nginx:latest ports: - 80:80 volumes: - ./nginx.conf:/etc/nginx/conf.d/default.conf - ./logs:/var/log/nginx php: image: your_php_image:latest volumes: - ./php:/var/www/html links: - db db: image: mariadb:latest environment: - MYSQL_ROOT_PASSWORD=your_password volumes: - ./data:/var/lib/mariadb
上記の構成では、web、php、db の 3 つのサービスを定義しました。 Web サービスは Nginx イメージを使用し、ホストのポート 80 をコンテナ内のポート 80 にバインドします。また、Nginx 構成ファイル nginx.conf のマウント パスとログ ファイル ディレクトリ logs も指定しました。
php サービスは、独自のパッケージ化された PHP イメージを使用し、ホストの php ディレクトリをコンテナ内の /var/www/html ディレクトリにマウントし、PHP アプリケーションがこのディレクトリにアクセスできるようにします。
db サービスは MariaDB ミラーを使用し、ROOT ユーザーのパスワードを設定します。また、データベース データを永続的に保存するためのデータ ディレクトリもマウントしました。
次に、Nginx の仮想ホストとログ管理を構成するための Nginx 構成ファイル nginx.conf を準備する必要があります。簡単な例を次に示します。
server { listen 80; server_name localhost; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; location / { root /var/www/html; index index.html index.php; } location ~ .php$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name; include fastcgi_params; } }
上記の構成ファイルは、ポート 80 でリッスンする localhost という名前の仮想ホストを定義します。アクセスログとエラーログをそれぞれ /var/log/nginx ディレクトリに設定しました。
次に、ログを解析して保存するスクリプトを作成する必要があります。 PHP を使用して簡単なスクリプトを作成すると、この機能を実現できます。以下に例を示します。
<?php function save_log($log_file, $log_data) { // 解析日志数据 // 存储到数据库中 } $log_file = '/var/log/nginx/access.log'; $handle = fopen($log_file, "r"); if ($handle) { while (($line = fgets($handle)) !== false) { // 解析日志行,获取需要存储的数据 $log_data = parse_log($line); // 存储日志数据 save_log($log_file, $log_data); } fclose($handle); } ?>
上記のスクリプトでは、単純なループを使用してログ ファイルを 1 行ずつ読み取り、解析されたログ データをデータベースに保存します。特定の解析および保存ロジックは、実際の状況に応じて作成する必要があります。
最後に、ログ解析とストレージ操作を定期的に実行するために、このスクリプトを PHP アプリケーションに追加する必要があります。 crontab を使用してスケジュールされた実行を実装できます。以下に例を示します。
# 每分钟执行一次日志解析脚本 * * * * * php /var/www/html/log_parser.php
上記の設定を crontab に追加して、log_parser.php スクリプトを毎分実行します。
要約すると、Docker Compose、Nginx、MariaDB を使用すると、PHP アプリケーションの監視とログ管理を簡単に実装できます。 Nginxの仮想ホストとログ管理を設定することで、アクセスログやエラーログを指定したディレクトリに保存することができます。次に、ログを解析するスクリプトを作成して PHP アプリケーションに追加することで、このログ データを定期的に解析して保存できます。こうすることで、アプリケーションの監視とトラブルシューティングを簡単に行うことができます。
以上がDocker Compose、Nginx、MariaDB を使用した PHP アプリケーションの監視とログ管理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック











Tomcat サーバーが外部ネットワークにアクセスできるようにするには、以下を行う必要があります。 外部接続を許可するように Tomcat 構成ファイルを変更します。 Tomcat サーバー ポートへのアクセスを許可するファイアウォール ルールを追加します。 Tomcat サーバーのパブリック IP を指すドメイン名を指す DNS レコードを作成します。オプション: リバース プロキシを使用して、セキュリティとパフォーマンスを向上させます。オプション: セキュリティを強化するために HTTPS を設定します。

ThinkPHP フレームワークをローカルで実行する手順: ThinkPHP フレームワークをローカル ディレクトリにダウンロードして解凍します。 ThinkPHP ルート ディレクトリを指す仮想ホスト (オプション) を作成します。データベース接続パラメータを構成します。 Webサーバーを起動します。 ThinkPHP アプリケーションを初期化します。 ThinkPHP アプリケーションの URL にアクセスして実行します。

「nginx へようこそ!」エラーを解決するには、仮想ホスト構成を確認し、仮想ホストを有効にし、Nginx をリロードする必要があります。仮想ホスト構成ファイルが見つからない場合は、デフォルト ページを作成して Nginx をリロードすると、エラー メッセージが表示されます。が消え、ウェブサイトは通常のショーになります。

Node.js プロジェクトのサーバー デプロイメント手順: デプロイメント環境を準備します。サーバー アクセスの取得、Node.js のインストール、Git リポジトリのセットアップ。アプリケーションをビルドする: npm run build を使用して、デプロイ可能なコードと依存関係を生成します。コードをサーバーにアップロードします: Git またはファイル転送プロトコル経由。依存関係をインストールする: サーバーに SSH で接続し、npm install を使用してアプリケーションの依存関係をインストールします。アプリケーションを開始します。node Index.js などのコマンドを使用してアプリケーションを開始するか、pm2 などのプロセス マネージャーを使用します。リバース プロキシの構成 (オプション): Nginx や Apache などのリバース プロキシを使用して、トラフィックをアプリケーションにルーティングします。

HTML ファイルを URL に変換するには Web サーバーが必要です。これには次の手順が含まれます。 Web サーバーを取得します。 Webサーバーをセットアップします。 HTMLファイルをアップロードします。ドメイン名を作成します。リクエストをルーティングします。

Dockerfile で最も一般的に使用される命令は次のとおりです。 FROM: 新しいイメージを作成するか、新しいイメージを派生します。 RUN: コマンドを実行します (ソフトウェアのインストール、システムの構成) COPY: ローカル ファイルをイメージにコピーします。 ADD: COPY と同様に、自動的に解凍できます。 tar アーカイブまたは URL ファイルを取得します。 CMD: コンテナーの起動時にコマンドを指定します。 EXPOSE: コンテナーのリスニング ポートを宣言します (ただし、パブリックではありません) ENV: 環境変数を設定します。 VOLUME: ホスト ディレクトリまたは匿名ボリュームをマウントします。 WORKDIR: 作業ディレクトリをコンテナ ENTRYPOINT: コンテナ起動時に実行する内容を指定します。 実行可能ファイル (CMD に似ていますが、上書きできません)

はい、Node.js には外部からアクセスできます。次の方法を使用できます。 Cloud Functions を使用して関数をデプロイし、一般にアクセスできるようにします。 Express フレームワークを使用してルートを作成し、エンドポイントを定義します。 Nginx を使用して、Node.js アプリケーションへのリバース プロキシ リクエストを実行します。 Docker コンテナを使用して Node.js アプリケーションを実行し、ポート マッピングを通じて公開します。

PHP Web サイトを正常に展開して維持するには、次の手順を実行する必要があります。 Web サーバー (Apache や Nginx など) を選択する PHP をインストールする データベースを作成して PHP に接続する コードをサーバーにアップロードする ドメイン名と DNS を設定する Web サイトのメンテナンスを監視する手順には、PHP および Web サーバーの更新、Web サイトのバックアップ、エラー ログの監視、コンテンツの更新が含まれます。
