2009-11-10 17 views

Respuesta

295

los errores se almacenan en el archivo de registro nginx. puedes especificarlo en la raíz del archivo de configuración nginx.

error_log /var/log/nginx/nginx_error.log warn; 
+8

Tal vez depende de la versión pero mi log está dentro: '/ opt/nginx/logs/error.log' – jmarceli

+15

en Mac OS X con homebrew:/usr/local/var/log/nginx. ver [respuesta] de lfender (http://stackoverflow.com/a/27402568/576767) –

+5

En ubuntu lo tengo en '/ var/log/nginx/error.log'. Lo mejor es verificar el archivo 'nginx.conf' y encontrar la configuración' error_log'. – MarthyM

238

Estaba buscando una solución diferente.

Los registros de errores, por defecto, antes de ajustar cualquier configuración, en mi sistema (arquitectura x86), fue encontrado en:

/var/log/nginx/error.log 
+1

Aparentemente esto solo se puede configurar en el momento de la compilación con la opción de compilación '--error-log-path' http://trac.nginx.org/nginx/ticket/147 –

18

Mis registros ngninx se encuentran aquí:

/usr/local/var/log/nginx/* 

Usted También puede verificar su nginx.conf para ver si tiene directivas volcando al registro personalizado.

ejecuta nginx -t para ubicar tu nginx.conf.

# in ngingx.conf 
error_log /usr/local/var/log/nginx/error.log; 
error_log /usr/local/var/log/nginx/error.log notice; 
error_log /usr/local/var/log/nginx/error.log info; 

Nginx normalmente se configura en /usr/local o /etc/. El servidor podría configurarse para volcar registros a /var/log también.

Si tiene una ubicación alternativa para su instalación de nginx y todo lo demás falla, puede usar el comando find para localizar su archivo de elección.

find /usr/ -path "*/nginx/*" -type f -name '*.log', donde /usr/ es la carpeta desde la que desea comenzar la búsqueda.

98

Puede usar lsof (lista de archivos abiertos) en la mayoría de los casos para buscar archivos de registro abiertos sin conocer la configuración.

Ejemplo:

Encuentra el PID del httpd (mismo concepto se aplica para nginx y otros programas):

$ ps aux | grep httpd 
... 
root  17970 0.0 0.3 495964 64388 ?  Ssl Oct29 3:45 /usr/sbin/httpd 
... 

a continuación, busque los archivos de registro abiertos utilizando lsof con el PID:

$ lsof -p 17970 | grep log 
httpd 17970 root 2w REG    253,15  2278  6723 /var/log/httpd/error_log 
httpd 17970 root 12w REG    253,15  0  1387 /var/log/httpd/access_log 

Si lsof imprime nada, aunque esperaba que se encontraran los archivos de registro, emita un error el mismo comando usando sudo.

Puedes leer un poco más here.

+4

es un buen truco para recordar ... no hay que adivinar más donde los archivos de registro podrían ser –

+0

excelente, realmente. gracias –

+7

esto me enseñó a pescar; Desearía poder votar más – kurttheviking

46

Ejecutar este comando, para comprobar los registros de error:

tail -f /var/log/nginx/error.log 
1

tipo de terminal de sudo cat /var/log/nginx/error.log

+1

Esa no es una respuesta y debería ser un comentario en su lugar. Una vez que tenga la reputación suficiente, podrá comentar. – mrun

0

estoy con MarthyM. por defecto en Ubuntu, tanto access.log como error.log están en /var/log/nginx/. Pero puede cambiarlos en /etc/nginx/nginx.conf o /etc/nginx/sites-available/your-site-file.

Cuestiones relacionadas