私の 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#サードパーティパッチ
つまり、nginx のカスタム ビルドをお持ちであると想定します。その設定方法に関するヒントについては、パッチ ソースを参照してください。
https://github.com/yaoweibin/nginx_syslog_patch
純粋な nginx を実行している場合は、他の何かがそれらのログ エントリを syslog に送信します。