記事ディレクトリ
サーバー nginx ログ管理
nginx を使用してサーバーにサイトを展開した後、nginx ログは、サイトを監視し、オンラインの問題をトラブルシューティングするための重要な手段の 1 つです。ログの合理的な管理には、定期的にログをカットする、アーカイブ後にログをクリーニングする、記録する必要があるログ フィールドをカスタマイズするなどの方法があります。
カスタム ログ フィールド
nginx のデフォルト設定にはメイン ログと呼ばれる形式があり、多くのフィールドが含まれており、そのうちのいくつかは知りたい情報ではない可能性があり、削除または追加できます。たとえば、my_blog のログ ルールは次のように構成されます。
http{
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
log_format my_blog '$remote_addr,$time_iso8601,$request,'
'$http_referer,$http_x_forwarded_for';
access_log /var/log/nginx/access.log my_blog;
}
# nginx日志修改时间格式为年月日时分秒
$time_iso8601 生成格式:2019-04-20T09:24:35+08:00
$time_local 生成格式: 20/Apr/2019:09:24:13 +0800
nginx クリーンアップ ログ
バックアップ用に mv を使用してログ ファイルの名前を変更すると、元のログ ファイルは存在しなくなり、nginx を再度開いてログ ファイルをロードすると、新しいログ ファイルが生成されます。
$ mv /var/log/nginx/access.log /var/log/nginx/access.log.bak # 重命名日志文件
$ nginx -s reopen
# 重新加载日志文件
# 还是上面那个例子,把 my_blog 的日志通过重命名进行备份,日志文件也就清理掉了
$ mv /www/wwwlogs/my_blog.log /www/wwwlogs/my_blog.log.bak
詳細については、
nginx ログの詳細な説明を参照してください。
表紙絵