目次
Nginx アクセス ログの構成
Ubuntu、CentOS、Debian などのほとんどの Linux ディストリビューション。デフォルトでは、アクセス ログとエラー ログは
ホームページ 運用・保守 Nginx Nginx のアクセス ログとエラー ログを構成する方法

Nginx のアクセス ログとエラー ログを構成する方法

May 16, 2023 am 08:10 AM
nginx

Nginx は、インターネット上のいくつかの最大規模のサイトの負荷を処理するオープンソースの高性能 HTTP およびリバース プロキシ サーバーです。 NGINX Web サーバーを管理するときに実行する最も一般的なタスクの 1 つは、ログ ファイルのチェックです。

ログの構成方法と読み取り方法を知ることは、詳細なデバッグ情報を提供するため、サーバーまたはアプリケーションの問題のトラブルシューティングを行うときに非常に役立ちます。

Nginx は、アクセス ログとエラー ログという 2 種類のログを使用してイベントを記録します。アクセス ログにはクライアント要求に関する情報が記録され、エラー ログにはサーバーとアプリケーションの問題に関する情報が記録されます。

Nginx アクセス ログの構成

Nginx は、顧客のリクエストが処理されるたびに、アクセス ログに新しいレコードを生成します。各イベント レコードにはタイムスタンプが含まれており、クライアントと要求されたリソースに関するさまざまな情報が含まれています。アクセスログには、訪問者の位置、訪問者が訪問したページなどが表示されます。

log_format ディレクティブを使用すると、ログの形式を定義できます。 access_log ディレクティブは、ログ ファイルの場所と形式を有効にして設定します。

access_log コマンドの最も基本的な構文は次のとおりです。

access_log log_file log_format;
ログイン後にコピー

ここで、log_file はログ ファイルのフル パスです。 log_format は、ログ ファイルに使用される形式です。アクセス ログは、 httpserver または location ディレクティブのコンテキストで有効にすることができます。

デフォルトでは、Nginx メイン設定ファイルの http ディレクティブは、グローバル アクセス ログ形式を設定します。

http {
  ...
  access_log  /var/log/nginx/access.log;
  ...
}
ログイン後にコピー

/etc/nginx/nginx.conf

メンテナンス性を高めるため、サーバーごとに個別のアクセス ログ ファイルを設定することをお勧めします。 server ディレクティブに設定された access_log ディレクティブは、http ディレクティブに設定された access_log を上書きします。

http {
  ...
  access_log  /var/log/nginx/access.log;
  ...
  server {
    server_name domain.com
    access_log  /var/log/nginx/domain.access.log;
    ...
  }
}
ログイン後にコピー

/etc/nginx/conf.d/domain.com.conf

ログ形式が指定されていない場合、Nginx は次のように事前定義された組み合わせ形式を使用します:

log_format combined '$remote_addr - $remote_user [$time_local] '
                    '"$request" $status $body_bytes_sent '
                    '"$http_referer" "$http_user_agent"';
ログイン後にコピー

ログ形式を変更するには、デフォルト設定をオーバーライドするか、新しい設定を定義します。たとえば、 # Add で XX-Forwarded-For ヘッダーの値を追加することで combined 形式を拡張する main という名前の新しいログ形式を定義します。次の定義ディレクティブを ##http または server に追加します:

log_format  custom  '$remote_addr - $remote_user [$time_local] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                    '"$http_user_agent" "$http_x_forwarded_for"';
ログイン後にコピー

新しいログ形式を使用するには、次のようにログ ファイルの後に名前を指定します:

access_log  /var/log/nginx/access.log custom;
ログイン後にコピー

ただし、アクセス ログは非常に有益な情報を提供します。ただし、ディスク領域を占有するため、サーバーのパフォーマンスに影響を与える可能性があります。サーバーのリソースが不足していてサイトがビジー状態の場合は、アクセス ログを無効にすることができます。これを行うには、

access_log ディレクティブの値を off に設定します。理論的には、このような状況は発生せず、Nginx は以前のログ ファイルを自動的に削除します。

access_log off;
ログイン後にコピー

構成エラー ログ

Nginx は、アプリケーションおよび一般的なサーバー エラー メッセージをエラー ログ ファイルに書き込みます。 Web アプリケーションでエラーが発生した場合、問題のトラブルシューティングを開始する最初の場所はエラー ログです。

error_log ディレクティブは、エラー ログの場所と重大度レベルを有効にして設定します。次の形式をとり、 httpserver または location コンテキストで設定できます:

error_log log_file log_level
ログイン後にコピー

log_levelパラメータ ログレベルを設定します。以下に、重大度の低いものから高いものまで、レベルを示します。

debug
info
notice
warn
error
crit
alert
emerg
ログイン後にコピー

各ログ レベルには、より高いレベルが含まれます。たとえば、ログ レベルを

warn に設定すると、Nginx は errorcritalert および emerg もログに記録します。 ### 情報。 log_level パラメータが指定されていない場合、デフォルトは error です。デフォルトでは、error_log ディレクティブは、メイン nginx.conf ファイル内の http ディレクティブのコンテキストで定義されます: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>http { ... error_log /var/log/nginx/error.log; ... }</pre><div class="contentsignin">ログイン後にコピー</div></div>/etc/nginx/nginx.confアクセス ログ付き 同様に、サーバーごとに個別のエラー ログ ファイルを設定することをお勧めします。これにより、http ディレクティブ コンテキストなどの上位レベルの設定がオーバーライドされます。たとえば、domain.com のエラー ログを

warn

に設定するには、次のようにします: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>http { ... error_log /var/log/nginx/error.log; ... server { server_name domain.com error_log /var/log/nginx/domain.error.log warn; ... } }</pre><div class="contentsignin">ログイン後にコピー</div></div> 構成ファイルを変更するたびに、変更を適用するには Nginx サービスをリロードする必要があります効果。

ログ ファイルの場所

Ubuntu、CentOS、Debian などのほとんどの Linux ディストリビューション。デフォルトでは、アクセス ログとエラー ログは

/var/log/nginx

ディレクトリにあります。 Nginx ログ ファイルを読んで理解する

cat

lessgrepcut # を使用できます##、awk およびその他のコマンドは、nginx ログ ファイルを開いて解析します。以下は、デフォルトの Nginx ログ形式を使用したアクセス ログ ファイルの記録です:

192.168.33.1 - - [15/Oct/2019:19:41:46 +0000] "GET / HTTP/1" 200 396 "-" "Mozilla/0 (X11; Linux x86_64) AppleWebKit/536 (KHTML, like Gecko) Chrome/38120 Safari/536"
ログイン後にコピー

让我们细分Nginx日志文件记录的每个字段意味着什么:

  • $remote_addr – 192.168.33.1 -发出请求的客户端的IP地址。

  • $remote_user  – - -HTTP身份验证用户。未设置用户名时,此字段显示 - 。

  • [$time_local] – [15/Oct/2019:19:41:46 +0000]

本地服务器时间。

  • "$request"  – "GET / HTTP/1.1" -请求类型,路径和协议。

  • $status  – 200 -服务器响应代码。

  • $body_bytes_sent  – 396 -服务器响应的大小(以字节为单位)。

  • "$http_referer"  – "-" -引荐网址。

  • "$http_user_agent"  – Mozilla/5.0 ... -客户端的用户代理(网络浏览器)。

使用 tail 命令实时观看日志文件记录: tail -f access.log

以上がNginx のアクセス ログとエラー ログを構成する方法の詳細内容です。詳細については、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

Linuxでは、次のコマンドを使用して、nginxが起動されるかどうかを確認します。SystemCTLステータスNGINXコマンド出力に基づいて、「アクティブ:アクティブ(実行)」が表示された場合、NGINXが開始されます。 「アクティブ:非アクティブ(dead)」が表示されると、nginxが停止します。

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

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

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

Linuxでnginxを開始する方法 Linuxでnginxを開始する方法 Apr 14, 2025 pm 12:51 PM

Linuxでnginxを開始する手順:nginxがインストールされているかどうかを確認します。 systemctlを使用して、nginxを開始してnginxサービスを開始します。 SystemCTLを使用して、NGINXがシステムスタートアップでNGINXの自動起動を有効にすることができます。 SystemCTLステータスNGINXを使用して、スタートアップが成功していることを確認します。 Webブラウザのhttp:// localhostにアクセスして、デフォルトのウェルカムページを表示します。

nginx403を解く方法 nginx403を解く方法 Apr 14, 2025 am 10:33 AM

Nginx 403禁止エラーを修正する方法は?ファイルまたはディレクトリの許可を確認します。 2。HTACCESSファイルを確認します。 3. nginx構成ファイルを確認します。 4。nginxを再起動します。他の考えられる原因には、ファイアウォールルール、Selinux設定、またはアプリケーションの問題が含まれます。

nginx304エラーを解く方法 nginx304エラーを解く方法 Apr 14, 2025 pm 12:45 PM

質問への回答:304変更されていないエラーは、ブラウザがクライアントリクエストの最新リソースバージョンをキャッシュしたことを示しています。解決策:1。ブラウザのキャッシュをクリアします。 2.ブラウザキャッシュを無効にします。 3.クライアントキャッシュを許可するようにnginxを構成します。 4.ファイル許可を確認します。 5.ファイルハッシュを確認します。 6. CDNまたは逆プロキシキャッシュを無効にします。 7。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にアクセスできます

nginx403エラーを解く方法 nginx403エラーを解く方法 Apr 14, 2025 pm 12:54 PM

サーバーには、要求されたリソースにアクセスする許可がなく、NGINX 403エラーが発生します。ソリューションには以下が含まれます。ファイル許可を確認します。 .htaccess構成を確認してください。 nginx構成を確認してください。 SELINUXアクセス許可を構成します。ファイアウォールルールを確認してください。ブラウザの問題、サーバーの障害、その他の可能なエラーなど、他の原因をトラブルシューティングします。

See all articles