热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Nginx登录到stderr

如何解决《Nginx登录到stderr》经验,为你挑选了2个好方法。

我想重定向nginx访问日志,stdout以便能够通过journalctl(systemd)分析它们.

批准的答案也有同样的问题. 将nginx access_log和error_log日志记录到主进程的STDOUT和STDERR 但它对我不起作用.随着/dev/stderr我得到open() "/dev/stderr" failed (6: No such device or address).随着/dev/stdout我得到没有访问日志journalctl -u nginx.

nginx.conf

daemon off;

http {
    access_log /dev/stdout;
    error_log /dev/stdout;
    ...
}
...

sitename.conf

server {
    server_name sitename.com;
    root /home/username/sitename.com;

    location / {
        proxy_pass http://localhost:3000/;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        access_log on;
    }
}

nginx.service

[Service]
Type=forking
PIDFile=/run/nginx.pid
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=nginx
ExecStartPre=/usr/sbin/nginx -t -q -g 'master_process on;'
ExecStart=/usr/sbin/nginx -g 'master_process on;'
ExecReload=/usr/sbin/nginx -g 'master_process on;' -s reload
ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid
TimeoutStopSec=5

我已经尽力通过改变上面代码中的每个可能参数并使用不同的nginx版本(1.2,1.6)来解决这个问题,但没有任何成功.

我真的,非常感兴趣如何使这项工作,所以我在另一个线程上再次提出这个问题,因为我认为以前的答案是错误的,投机的或环境特定的.

$ journalctl -u nginx

仅包含类似的行

 Feb 08 13:05:23 Username systemd[1]: Started A high performance web server and a reverse proxy server.

并没有访问日志的迹象:(



1> m.kocikowski..:
server {
    error_log syslog:server=unix:/dev/log;
    access_log syslog:server=unix:/dev/log;
    ...
}

默认的日志配置(我正在运行Ubuntu 15.04)从syslog中读取,所以这个配置就是让日志可以查看的全部内容 journalctl -u nginx



2> hedgie..:

根据nginx文档,该error_log指令支持stderr作为其参数.因此,以下配置应将错误消息记录到stderr:

http {
    error_log stderr;
    ...
}

不幸的是,access_log不支持stdout作为其论点.但是,应该可以将其设置为syslog(文档)并让systemd将syslog调用包含在其日志中.


推荐阅读
author-avatar
手机用户2502906263
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有