Nginx log nach stderr

Ich will redirect nginx access logs zu stdout in der Lage sein, um Sie zu analysieren, durch journalctl (systemd).

Es ist die gleiche Frage mit Antwort genehmigt.
Haben nginx access_log und error_log-log an STDOUT und STDERR des master-Prozess
Aber es funktioniert nicht für mich. Mit /dev/stderr bekomme ich open() "/dev/stderr" failed (6: No such device or address). Mit /dev/stdout bekomme ich keine access-logs in 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

Ich habe mein bestes versucht, um dieses Problem zu umgehen, durch ändern Sie jeden möglichen parameter in den obigen code und mit unterschiedlichen nginx-Versionen (1.2, 1.6), aber ohne Erfolg.

Ich bin wirklich, wirklich interessiert, wie diese Arbeit zu machen, so Hebe ich diese Frage noch einmal in einem anderen thread wie halte ich Vorherige Antwort ist falsch, spekulative oder Umgebung.

$ journalctl -u nginx

enthält nur Zeilen wie

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

und kein Zeichen von access logs 🙁

InformationsquelleAutor Ivan Kleshnin | 2015-02-08

Schreibe einen Kommentar