Où puis-je trouver les journaux d'erreurs de nginx, en utilisant fastcgi et django

359

J'utilise django avec fastcgi + nginx. Je veux savoir où les journaux (erreur) sont stockés dans ce cas

ha22109
la source

Réponses:

481

les erreurs sont stockées dans le fichier journal nginx. vous pouvez le spécifier à la racine du fichier de configuration nginx.

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

Sur Mac Os X avec Homebrew , le fichier journal a été trouvé par défaut à l'emplacement suivant:

/usr/local/var/log/nginx
syava
la source
11
Cela dépend peut-être de la version, mais mon journal est à l'intérieur:/opt/nginx/logs/error.log
jmarceli
49
sur Mac OS X avec homebrew: / usr / local / var / log / nginx. voir la réponse
Félix Gagnon-Grenier
11
Sur Ubuntu, je l'ai /var/log/nginx/error.log. Il est préférable de vérifier le nginx.conffichier et de trouver le error_logparamètre.
MarthyM
Où avez-vous trouvé cette information?
etiennejcharles
300

Je cherchais une solution différente.

Les journaux d'erreurs, par défaut, avant toute configuration, sur mon système (x86 Arch), ont été trouvés dans:

/var/log/nginx/error.log
Ben
la source
1
Apparemment, cela n'est configurable qu'au moment de la --error-log-pathcompilation avec l' option de compilation trac.nginx.org/nginx/ticket/147
Michael Berkowski
sur framboise pi3 son emplacement
Bludau Media
161

Vous pouvez utiliser lsof(liste des fichiers ouverts) dans la plupart des cas pour trouver des fichiers journaux ouverts sans connaître la configuration.

Exemple:

Trouvez le PID de httpd (le même concept s'applique pour nginx et d'autres programmes):

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

Recherchez ensuite les fichiers journaux ouverts à l'aide lsofdu 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 lsofn'imprime rien, même si vous vous attendiez à ce que les fichiers journaux soient trouvés, exécutez la même commande à l'aide de sudo.

Vous pouvez en lire un peu plus ici .

omoser
la source
4
c'est une bonne astuce à retenir .. plus besoin de deviner où les fichiers journaux pourraient être
Yo Ludke
12
cela m'a appris à pêcher; j'aimerais pouvoir voter davantage
kurttheviking
+1 Pour une réponse sur la façon de regarder. Je cherchais des journaux d'une autre installation de nginx et ce n'était pas dans la première réponse.
Robert Dundon
vous pouvez piquer des données similaires sur linux dans le /procsystème de fichiers. /proc/${pid}/fda des liens symboliques vers les fichiers ouverts, les tuyaux, les périphériques, etc.
Avindra Goolcharan
91

Exécutez cette commande pour vérifier les journaux d'erreurs:

tail -f /var/log/nginx/error.log
Taimoor Changaiz
la source
39

Mes journaux ngninx se trouvent ici:

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

Vous pouvez également vérifier votre nginx.confpour voir si vous avez des directives sur le journal personnalisé.

courir nginx -tpour localiser votre 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 est généralement installé dans /usr/localou /etc/. Le serveur peut également être configuré pour vider les journaux /var/log.

Si vous disposez d'un autre emplacement pour votre installation de nginx et que tout le reste échoue, vous pouvez utiliser la findcommande pour localiser le fichier de votre choix.

find /usr/ -path "*/nginx/*" -type f -name '*.log', où se /usr/trouve le dossier à partir duquel vous souhaitez commencer la recherche.

lfender6445
la source
Les journaux seront ici si vous avez installé Nginx avec Homebrew.
Sridhar Sarnobat
9

Emplacement des journaux sur les serveurs Linux

Apache  /var/log/httpd/

IIS  C:\inetpub\wwwroot\

Node.js  /var/log/nodejs/

nginx  /var/log/nginx/

Passenger  /var/app/support/logs/

Puma  /var/log/puma/

Python  /opt/python/log/

Tomcat  /var/log/tomcat8
Syed Shibli
la source
4
cd /var/log/nginx/
cat error.log
user4989001
la source
2

tapez cette commande dans le terminal

sudo cat /var/log/nginx/error.log
priyasha
la source
1
Ce n'est pas une réponse et devrait plutôt être un commentaire. Une fois que vous aurez suffisamment de réputation, vous pourrez commenter.
mrun
0

Trouvé ici / usr / local / nginx / logs / *

mygeea
la source