ホームページ  >  記事  >  運用・保守  >  Nginxログカット設定の実装方法

Nginxログカット設定の実装方法

WBOY
WBOYオリジナル
2023-11-08 12:48:211476ブラウズ

Nginxログカット設定の実装方法

Nginx ログ切断構成を実装するには、特定のコード例が必要です

Nginx は、非常に人気のある高性能 Web サーバーおよびリバース プロキシ サーバーであり、構築や構築に広く使用されています。最新のアプリケーションを実行しています。運用およびメンテナンス エンジニアとして、過剰なログ ファイルがサーバーのパフォーマンスに影響を与えないように、サーバーのログを定期的にカットできるように、Nginx サーバーのログカット機能を構成する必要があることがよくあります。以下では、Nginx のログカット設定の実装方法と具体的なコード例を紹介します。

1. ログカットを設定する必要があるのはなぜですか?

Nginx サーバーは、デフォルトですべてのアクセス ログとエラー ログを同じファイルに書き込みます。アクセス数が増加するにつれて、ログ ファイルはサイズが大きくなり、大量のディスク領域を占有するだけでなく、特定のログ情報を検索する際の効率も低下します。この問題を解決するには、サーバーのパフォーマンスと管理性を維持するために、Nginx ログを定期的にカットし、特定のサイズまたは時間間隔に従ってログ ファイルをカットし、古いログ ファイルをアーカイブまたは削除する必要があります。

2. Nginx ログ切断の設定方法

  1. logrotate ツールのインストール

logrotate は、さまざまなログに使用できる一般的に使用されるログ切断ツールです。ファイルは自動的に切り取られ、アーカイブされ、削除されます。まず、logrotate ツールをサーバーにインストールする必要があります。サーバーが Debian/Ubuntu システムを使用している場合は、次のコマンドを使用してインストールできます:

sudo apt-get install logrotate

サーバーが CentOS/RHEL システムを使用している場合は、次のコマンドを使用してインストールできます:

sudo yum install logrotate
  1. ログ切断構成ファイルの作成

#次に、切断ルールと実行する操作を定義するために、Nginx ログ切断構成ファイルを作成する必要があります。通常、Nginx のログ ファイルは /var/log/nginx/ ディレクトリにあります。このディレクトリに nginx.logrotate という名前のファイルを作成し、次のように編集できます。 ##

/var/log/nginx/*.log {
    daily
    missingok
    rotate 7
    compress
    delaycompress
    notifempty
    create 0644 nginx nginx
    sharedscripts
    postrotate
        /usr/sbin/nginx -s reopen
    endscript
}

上記の設定では、各パラメータの意味は次のとおりです:

  • daily: 毎日の時間間隔に従ってカット;
  • missingok: ログ ファイルが存在しない場合、エラーは報告されません;
  • rotate 7: 最新の 7 つの切り取られたログ ファイルと古いログを保持します。ファイルは削除されます ;
  • compress: 切り取った後にログ ファイルを圧縮します;
  • laycompress: 遅延圧縮、つまり圧縮が実行されます次のカット中;
  • notifempty: カット ログ ファイルが空の場合、操作は実行されません;
  • create 0644 nginx nginx: Create新しいログ ファイル、権限を 0644、所有者とグループを nginx に設定;
  • sharedscripts: 切断スクリプトを実行する前にスクリプトを 1 回だけ実行します;
  • postrotate および endscript: 切断の完了後に実行され、Nginx サーバー上のログ ファイルを再度開くためのスクリプト。
    ログ切断構成のテスト
構成ファイルの作成が完了したら、次のコマンドを使用してログ切断をテストできます:

sudo logrotate -f /etc/logrotate.d/nginx.logrotate

実行 上記のコマンドの後、logrotate は設定ファイルのルールに従って Nginx ログ ファイルを切り取ります。

ls コマンドを使用して、/var/log/nginx/ ディレクトリ内のログ ファイルを表示し、ルールに従って切り取られ、圧縮されているかどうかを確認できます。

    logrotate のスケジュールタスクの設定
自動ログカット機能を実現するには、システムのスケジュールタスクに logrotate の実行タスクを追加する必要があります。 。

/etc/crontab ファイルを編集して次の行を追加できます:

0 0 * * * root /usr/sbin/logrotate -f /etc/logrotate.d/nginx.logrotate

このようにして、logrotate は毎日午前 0 時 (0 時間 0 分) にログ切断操作を実行します。 。

概要

サーバーのパフォーマンスと管理性を維持するために、Nginx のログカット機能の設定は非常に必要です。 logrotateツールをインストールし、ログカット設定ファイルを作成し、スケジュールタスクを設定することで、自動ログカット機能を実現できます。この記事で提供されている具体的なコード例が、Nginx ログカット構成の実装に役立つことを願っています。

以上がNginxログカット設定の実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。