今天我的服务器对 HTTP 请求没有响应,原因似乎是 nginx 宕机了,因为当我重新启动 nginx 时,它又恢复了工作。我想查看错误日志以查看出了什么问题,但它97千兆字节:
-rw-r----- 1 www-data adm 106614104064 Mar 23 00:52 error.log
有人能推荐一种管理这种日志的方法吗?我显然无法从服务器下载它,当我尝试在 nano/vi 中打开它时,终端就没有响应了。我还想在它上面运行一个日志解析器并使用它,但我敢说这对于一个接近 100 GB 的文件来说会花很长时间。
编辑:经过进一步挖掘,似乎 nginx 崩溃的原因是因为它的日志占用了所有可用的磁盘空间,所以一定是一个错误导致 nginx 不断记录到错误日志中,因为我的网站流量并不大。
答案1
您可以使用以下命令获取日志的最后100行:
tail -100 error.log
或者将其保存到新文件:
tail -100 error.log > error-100.log
您可以保存任意数量的行(而不是 100 行),然后只需删除原始文件即可
此外,为了避免再次出现这种情况,你应该开始为 Nginx 配置日志轮换。
答案2
我建议使用 截断文件: > /path/to/error.log
。这样文件就会清零,您无需重新启动 nginx。然后,您可以运行tail -f /path/to/error.log
以查看它为何以如此快的速度增长。