遅い応答リクエストを記録して分析し、Web サイトの応答コンテンツを置き換えるように Nginx を構成する方法
1. モジュールのインストール
nginx サードパーティ モジュールのインストール方法はここでは省略します。
設定パラメータ
./configure --prefix=/usr/local/nginx-1.4.1 --with-http_stub_status_module \ --add-module=../ngx_http_log_request_speed
2.命令log_request_speed
2.1 log_request_speed_filter
構文:
log_request_speed_filter [on|off]
設定セクション:n/a
context:location 、server、http
モジュールを有効または無効にする
2.2 log_request_speed_filter_timeout
構文:
log_request_speed_filter_timeout [num sec]
デフォルト: 5 秒
構成セクション: location、server、http
これは実際のタイムアウトではありませんが、リクエストがここで指定された時間を超えると、nginx エラー ログに記録されることを意味します。リクエストが 5 未満の場合、デフォルト値は 5000 マイクロ秒 (5 秒) です。秒を超えると、このリクエストはログに記録されませんが、5 秒を超えると、リクエストは nginx エラー ログに記録されます
#3. 使用例3.1 nginx 設定
http{ log_request_speed_filter on; log_request_speed_filter_timeout 3; ... }
cd /usr/local/nginx-1.4.1/logs
wget http://wiki.nginx.org/images/a/a8/log_analyzer.tar.gz
tar -xzvf log_analyzer.tar.gz
cd request_speed_log_analyzer
# cat ../error.log | grep 'process request'| ./analyzer.pl -r
post /wp-admin/admin-ajax.php http/1.1 --- avg ms: 1182, value count: 2
get /shmb/1145.html http/1.1 --- avg ms: 2976, value count: 1 <--- the winner
# ./analyzer.pl -h
- -h : このヘルプ メッセージ #ヘルプ メッセージの表示
- -u : 上流でグループ化 # を押す上流のグループ化
- -o : ホストごとにグループ化 #ホストごとにグループ化
- #-r : リクエストごとにグループ化 #リクエストごとにグループ化、これをお勧めします
現在、作成者は 0.6.35 と 0.7.64 でのみテストしており、それが可能であることは保証しません。他の環境でも使用されています。現在のテストバージョンは 1.4.1 で、現在は通常に使用しています。使用する前にテストしてください。
nginx は Web サイトの応答コンテンツ (ngx_http_sub_module) を置き換えます ngx_http_sub_module モジュールは、Web サイトの応答コンテンツの文字列を変更するフィルターです。応答内容 'すべてを 'このサイト' に置き換えます。このモジュールは nginx に組み込まれていますが、デフォルトではインストールされません。インストールするには、構成パラメーターを追加する必要があります: --with-http_sub_module
1 . ディレクティブ
構文: sub_filter string replacement;
設定では、説明文字列を使用して説明文字列を置き換える必要があります。置換される文字列。置換は新しい文字列であり、変数を含めることができます。
構文:
sub_filter_last_modified on | off;
デフォルト値: sub_filter_last_modified off;設定セクション: http、server、location
このコマンドは nginx 1.5.1 で追加されました。このコマンドにはありません。 .
これにより、置換中に元の応答の「最終変更」ヘッダー フィールドを保存して、応答のキャッシュを容易にすることができます。
デフォルトでは、ヘッダー フィールドは応答の内容として削除されます。処理中に変更されました。
構文:
sub_filter_once on | off;
デフォルト値: sub_filter_once on;構成セクション: http、server、location
文字列を 1 回または複数回置換します。デフォルトは 1 回置換です。たとえば、応答コンテンツの jb51 を置き換えたい場合、このサイトでは、複数の jb51 が表示される場合、最初の jb51 のみが置き換えられます。オフの場合、すべての jb51 が置き換えられます。
Syntax:
sub_filter_types mime-type ...;
デフォルト値: sub_filter_types text/html;設定セクション: http、server、location
置換する必要がある MIME タイプを指定します。デフォルトは「text/html」です。* として指定した場合、次にすべて
2. nginx 置換文字列インスタンス
2.1 構成server {
listen 80;
server_name www.jb51.net;
root /data/site/www.jb51.net;
location / {
sub_filter jb51 '本站';
sub_filter_types text/html;
sub_filter_once on;
}
}
内容は次のとおりです# cat /data/site/www.jb51.net/2013/10/20131001_sub1.html
welcome to jb51!
jb51 team!
# curl www.jb51.net/2013/10/20131001_sub1.html
welcome to 本站! jb51 team!
置換では大文字と小文字が区別されず、jb51 は 1 回だけ置換されることがわかります。 sub_filter_once を on から off に変更してみました。
location / { sub_filter jb51 '本站'; sub_filter_once off; }
その後、test
# curl www.jb51.net/2013/10/20131001_sub1.html
welcome to 本站! 本站 team!
jb51 が置き換えられたことがわかります。
たとえば、 の後に js を追加する場合、構成は次のようになります。次のように:
location / { sub_filter </head> '</head><script language="javascript" src="$script"></script>'; sub_filter_once on; }
以上が遅い応答リクエストを記録して分析し、Web サイトの応答コンテンツを置き換えるように Nginx を構成する方法の詳細内容です。詳細については、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 を設定します。

Nginx の開始コマンドと停止コマンドは、それぞれ nginx と nginx -s quit です。 start コマンドはサーバーを直接起動し、stop コマンドはサーバーを正常にシャットダウンして、現在のすべてのリクエストを処理できるようにします。その他の使用可能な停止信号には、停止およびリロードがあります。

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 などのリバース プロキシを使用して、トラフィックをアプリケーションにルーティングします。

phpMyAdmin に登録するには、まず MySQL ユーザーを作成して権限を付与し、次に phpMyAdmin をダウンロード、インストール、構成し、最後に phpMyAdmin にログインしてデータベースを管理する必要があります。

Web サイトにアクセスすると nginx が表示されます。その理由としては、サーバーのメンテナンス、サーバーのビジー状態、ブラウザーのキャッシュ、DNS の問題、ファイアウォールのブロック、Web サイトの構成ミス、ネットワーク接続の問題、Web サイトのダウンなどが考えられます。次の解決策を試してください: メンテナンスが終了するまで待つ、オフピーク時間にアクセスする、ブラウザのキャッシュをクリアする、DNS キャッシュをフラッシュする、ファイアウォールまたはウイルス対策ソフトウェアを無効にする、サイト管理者に連絡する、ネットワーク接続を確認する、または検索エンジンを使用するWeb アーカイブを使用して、サイトの別のコピーを見つけます。問題が解決しない場合は、サイト管理者にお問い合わせください。

Docker 環境でのコンテナ通信には、共有ネットワーク、Docker Compose、ネットワーク プロキシ、共有ボリューム、メッセージ キューの 5 つの方法があります。分離とセキュリティのニーズに応じて、Docker Compose を利用して接続を簡素化するか、ネットワーク プロキシを使用して分離を強化するなど、最も適切な通信方法を選択します。
