Nginx ログ切断構成を実装するには、特定のコード例が必要です
Nginx は、非常に人気のある高性能 Web サーバーおよびリバース プロキシ サーバーであり、構築や構築に広く使用されています。最新のアプリケーションを実行しています。運用およびメンテナンス エンジニアとして、過剰なログ ファイルがサーバーのパフォーマンスに影響を与えないように、サーバーのログを定期的にカットできるように、Nginx サーバーのログカット機能を構成する必要があることがよくあります。以下では、Nginx のログカット設定の実装方法と具体的なコード例を紹介します。
1. ログカットを設定する必要があるのはなぜですか?
Nginx サーバーは、デフォルトですべてのアクセス ログとエラー ログを同じファイルに書き込みます。アクセス数が増加するにつれて、ログ ファイルはサイズが大きくなり、大量のディスク領域を占有するだけでなく、特定のログ情報を検索する際の効率も低下します。この問題を解決するには、サーバーのパフォーマンスと管理性を維持するために、Nginx ログを定期的にカットし、特定のサイズまたは時間間隔に従ってログ ファイルをカットし、古いログ ファイルをアーカイブまたは削除する必要があります。
2. Nginx ログ切断の設定方法
logrotate は、さまざまなログに使用できる一般的に使用されるログ切断ツールです。ファイルは自動的に切り取られ、アーカイブされ、削除されます。まず、logrotate ツールをサーバーにインストールする必要があります。サーバーが Debian/Ubuntu システムを使用している場合は、次のコマンドを使用してインストールできます:
sudo apt-get install logrotate
サーバーが CentOS/RHEL システムを使用している場合は、次のコマンドを使用してインストールできます:
sudo yum install logrotate
#次に、切断ルールと実行する操作を定義するために、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 }
: 毎日の時間間隔に従ってカット;
: ログ ファイルが存在しない場合、エラーは報告されません;
: 最新の 7 つの切り取られたログ ファイルと古いログを保持します。ファイルは削除されます ;
: 切り取った後にログ ファイルを圧縮します;
: 遅延圧縮、つまり圧縮が実行されます次のカット中;
: カット ログ ファイルが空の場合、操作は実行されません;
: Create新しいログ ファイル、権限を 0644、所有者とグループを nginx に設定;
: 切断スクリプトを実行する前にスクリプトを 1 回だけ実行します;
および
endscript: 切断の完了後に実行され、Nginx サーバー上のログ ファイルを再度開くためのスクリプト。
sudo logrotate -f /etc/logrotate.d/nginx.logrotate
ls コマンドを使用して、
/var/log/nginx/ ディレクトリ内のログ ファイルを表示し、ルールに従って切り取られ、圧縮されているかどうかを確認できます。
/etc/crontab ファイルを編集して次の行を追加できます:
0 0 * * * root /usr/sbin/logrotate -f /etc/logrotate.d/nginx.logrotate
以上がNginxログカット設定の実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。