回答
收藏
分享
举报
nginx不同的请求所记录到的日志文件问题
提问于2020-08-28 16:31

浏览 1k

配置了一个nginx在location下有配置access_log字段记录到指定文件,该配置也生效了,但是在故障排查时候发现有部分400日志未记录到access_log所指定的文件,而是记录到了默认的access.log,请大神帮助解答一下。

另外发现有时候nginx的异常日志(比如未匹配到upstream的502日志)只记录到error.log access.log里无记录,有的却在access.log和error.log里都有记录,是跟nginx版本有关系吗?

已修改于2023-03-10 10:28



写下您的回答
发表回答
全部回答(0)

按点赞数排序

按时间排序

提问者
夜雨
这家伙很懒还未留下介绍~
0
文章
3
问答
1
粉丝
相关问答

proxy_http_version为1.1,同时Connection: keep-alive,这只是说:HTTP协议是支持长连接的。但客户端要不要使用长连接呢?如果使用长连接,就得有连接池,那么连接池应该是多少呢?毕竟一旦有连接池,就可能存在资源浪费,在用户没有明确的配置keepalive连接池时,Nginx还是不会使用长连接。

点赞 0
浏览 1.3k

可以的。 listen的语法可以支持端口范围。

点赞 0
浏览 674

没有回答,我就只能自己回答了。

查了下代码,进行gdb跟踪调试后发现:这个主要是因为,每个worker单独维护一个前后端 “链路”关联的四元组信息,在多个worker的情况下,不同的worker保存“链路”关联信息相互独立,彼此不共享。因此即使是相同的IP和端口发来的消息,只要是分配到不同的worker进行处理,都有可能查不到之前的“链路”关联信息,从而无法复用。


解决办法:

1. 单worker配置(性能可能偏低)

2. 修改代码,使用共享内存保存已有的前后端“链路”关联信息,不同worker之间共享结果

点赞 0
浏览 333