Есть журнал доступа nginx и журнал ошибок для STDOUT и STDERR основного процесса



есть ли способ иметь журнал главного процесса в STDOUT STDERR вместо файла?



похоже, что вы можете только передать путь к файлу в директиву access_log:



access_log  /var/log/nginx/access.log


и то же самое на глобальном уровне:



error_log /var/log/nginx/error.log


Я понимаю, что это просто не может быть особенностью nginx, мне было бы интересно краткое решение, которое использует хвост, например. Предпочтительно, хотя это происходит из главного процесса, хотя потому что я бегу nginx в этом плане.

634   4  

4 ответов:

Edit: кажется, nginx теперь поддерживает error_log stderr; как говорится в ответ Анона.

вы можете отправить журналы /dev/stdout. В nginx.conf:

daemon off;
error_log /dev/stdout info;

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

edit: возможно, потребуется запустить ln-sf / proc / self/fd / dev/ если используется запуск определенных контейнеров docker, то используйте /dev/fd/1 или /dev/fd/2

Если вопрос связан с Докером... официальные изображения nginx docker делают это, делая softlinks в сторону stdout / stderr

RUN ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log

REF:https://microbadger.com/images/nginx

Syntax: error_log file | stderr | syslog:server=address[,parameter=value] | memory:size [debug | info | notice | warn | error | crit | alert | emerg];
Default:    
error_log logs/error.log error;
Context:    main, http, stream, server, location

http://nginx.org/en/docs/ngx_core_module.html#error_log

не использовать: /dev/stderr Это нарушит настройку, если вы собираетесь использовать systemd-nspawn.

при запуске Nginx в контейнере Docker помните, что Том, смонтированный над каталогом журнала, не позволяет создать программную ссылку между файлами журнала и stdout/stderr в вашем файле docker, как описано в @Boeboe ' s ответ.

в этом случае вы можете либо создать softlink в своей точке входа (выполняется после монтирования томов), либо вообще не использовать том (например, когда журналы уже собраны центральной системой ведения журнала).

Comments

    Ничего не найдено.