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

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

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

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 .


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

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.


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


2

tapez cette commande dans le terminal

sudo cat /var/log/nginx/error.log

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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.