Algumas (mas não todas) coisas ainda logadas em /var/log/nginx/error.log apesar de estarem configuradas para logar em outro lugar

2

aqui está o scee.conf -

pid ./pid;

error_log ./error_log debug;

events {
  worker_connections 1024;
}

http {
  access_log ./access_log;
  server {
    listen 31415;
  }
}

Eu corro usando

nginx -c scee.conf -p .

(executado a partir do diretório em que reside)

A maioria das coisas é registrada em error.log no mesmo diretório do arquivo de configuração, mas misteriosamente a linha a seguir continua registrada em /var/log/nginx/error.log toda vez que o nginx é reiniciado -

2015/05/06 21:41:39 [notice] 2231#0: signal process started

ou similar.

Isso é irritante, pois requer que o / var / log / nginx seja gravável pelo usuário que está executando o nginx. O que está acontecendo aqui?

Saída do nginx -V

nginx version: nginx/1.4.6 (Ubuntu)
built by gcc 4.8.2 (Ubuntu 4.8.2-19ubuntu1) 
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_spdy_module --with-http_sub_module --with-http_xslt_module --with-mail --with-mail_ssl_module

O que o sinalizador do compilador --error-log-path está fazendo aqui? Ele simplesmente controla a localização padrão dos logs se você não tiver uma diretiva error_log no seu arquivo de configuração?

    
por George Simms 08.05.2015 / 23:26

1 resposta

1

Verifique se você tem mais de um bloco de servidor na sua configuração. No meu caso, acho que foi causado por ter um redirecionamento de HTTP como abaixo. As solicitações HTTP estavam sendo registradas no caminho de log padrão, mas as solicitações HTTPS eram registradas onde eu esperava.

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;
    return 301 https://example.com$request_uri;
}

server {
    listen 443;
    access_log /path/to/my.log;

    ...

}
    
por 21.05.2015 / 01:01

Tags