总是运行nginx-debug是不是很糟糕?

时间:2016-12-14 19:20:31

标签: nginx

我正在阅读debugging section of NGINX并且它说打开调试,你必须以某种方式编译或启动nginx,然后更改配置选项。我不明白为什么这是一个两步过程而且我推断它意味着,“你不想长时间在调试模式下运行nginx,即使你没有记录调试消息,因为它很糟糕”。

由于配置选项(error_log)已经设置了日志记录级别,我不能总是在调试模式下编译/运行并在我想查看调试级别日志时更改配置吗?这有什么缺点?如果我在调试模式下编译/启动它,即使我没有记录调试消息,nginx会运行得慢吗?

1 个答案:

答案 0 :(得分:1)

首先,要在调试中运行nginx,您需要运行nginx-debug二进制文件,而不是正常的nginx,如nginx文档中所述。如果你不这样做,那么如果你将error_log设置为debug就不会有效,因为它不起作用。 如果你想找出为什么这是一个两步的过程,我无法告诉你为什么要做出这样的决定。

Debug会发出大量日志,fd信息以及更多内容,所以是的,它会降低你的系统速度,例如因为它必须编写所有日志。在开发服务器上,没问题,在具有数百或数千个请求的生产服务器上,您可以看到该日志生成的磁盘I / O如何导致服务器速度变慢,其他服务等待一些免费服务磁盘I / O.此外,磁盘空间也可能很快耗尽。

另外,总是在调试模式下运行的原因是什么?你在这些日志中寻找什么特别的东西吗?我想我想弄明白你为什么要这样做。

并且值得一提的是,如果你想在生产中运行调试,至少使用debug_connection指令并仅记录某些IP。