내 nginx는 syslog에 많은 메시지를 보내지만 필요하지 않습니다. 내 nginx.conf에서:
error_log /var/log/nginx-error.log notice;
......
server {
access_log off;
location /
{
....
}
}
하지만 내 /var/log/message
말은 알잖아
Nov 22 23:25:09 cache3 nginx: 2011/11/22 23:25:09 [error] 3437#0: *32172530 kevent() reported about an closed connection (60: Operation timed out) while reading response header from upstream, client: , server: , request: "GET http://www.igoido012.com//vk HTTP/1.1", upstream: "http:////vk", host: "www.igoido012.com", referrer: "http://www.baidu.com/"
Nov 22 23:25:09 cache3 nginx: 2011/11/22 23:25:09 [error] 3437#0: *32099531 upstream timed out (60: Operation timed out) while reading response header from upstream, client: , server: , request: "GET http://t.web2.qq.com/channel/poll?msg_id=0&clientid=431509&t=1321975433305 HTTP/1.1", upstream: "http://:80/channel/poll?msg_id=0&clientid=431509&t=1321975433305", host: "t.web2.qq.com", referrer: "http://t.web2.qq.com/proxy.html?v=20110331001"
nginx가 내 syslog에 메시지를 보내는 것을 어떻게 방지할 수 있나요?
답변1
나는 nginx가 패치 없이 syslog로 보낼 것이라는 것을 몰랐습니다.
http://wiki.nginx.org/3rdPartyModules#Third_party_patches
따라서 nginx의 사용자 정의 빌드가 있다고 가정합니다. 구성 방법에 대한 힌트는 패치 소스를 살펴보세요.
https://github.com/yaoweibin/nginx_syslog_patch
직접 nginx를 실행하는 경우 해당 로그 항목을 syslog에 저장하는 것이 있습니다.