Re: Логирование в один файл из разных server
Maxim Dounin
mdounin at mdounin.ru
Tue Apr 28 19:19:02 UTC 2015
Hello!
On Tue, Apr 28, 2015 at 11:18:26AM -0400, BieZax wrote:
> Добрый день.
>
> Сейчас имеется такая структура:
> server{
> access_log /var/log/nginx_a.log;
> location / {
> proxy_pass http://127.0.0.1:8080/
> }
> location /1/ {
> access_log /var/log/nginx_b.log;
> proxy_pass http://be/;
> }
> }
> server{
> listen 127.0.0.1:8080;
> access_log /var/log/nginx_b.log;
> proxy_pass http://be/;
> }
> Если запрос не попал в локейшен первого сервера, то он проезжает на
> второй сервер и отправляется на бекэнд, если попал в локейшен , то
> напрямую отправляется на бекэнд. Проблема в том, что на бекэнде был
> зафиксирован запрос, который не отразился в /var/log/nginx_b.log, но при
> этом был в /var/log/nginx_a.log. Можно ли писать в один файл из разных
> server? Не будет ли проблем, при записи access лога на разных
> уровнях (server,location)?
Можно, проблем быть не должно.
Если что-то не пишется - это либо ошибка в системе, либо ошибка в
nginx'е, либо ошибка в вашем понимании того, что и куда должно
писаться. E.g., в приведённом конфиге запросы, отправленные на
бекенд, могут не попадать в nginx_b.log, если также используется
обработка ошибок с помощью директивы error_page.
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru