Section courante

A propos

Section administrative du site

 Serveur  Installation  Utilisation  Tutoriel  Aide 
Vue par liste complète
Installation
Introduction
Référence des directives
Référence des variables
Référence des modules
Les premiers pas
Contrôler nginx
Méthodes de traitement des connexions
Configuration des hachages
Un journal de bord de débogage
Enregistrement dans syslog
Fichier de configuration des unités de mesure
Paramètres de la ligne de commande
nginx pour Windows
Prise en charge de QUIC et HTTP/3
Comment Nginx traite une requête
Noms des serveurs
Utilisation de nginx comme équilibreur de charge HTTP
Configuration des serveurs HTTPS
Comment Nginx traite une session TCP/UDP
Les opérations
(Re)démarrer/arrêter
Préface
Notes légal
Dictionnaire
Recherche

Un journal de bord de débogage

Pour activer un journal de débogage, nginx doit être configuré pour prendre en charge le débogage pendant la construction :

./configure --with-debug ...

Ensuite, le niveau de débogage doit être défini avec la directive error_log :

error_log /path/to/log debug;

Pour vérifier que nginx est configuré pour prendre en charge le débogage, exécutez la commande :

nginx -V

on obtiendra :

configure arguments: --with-debug ...

Les paquets Linux pré-compilés fournissent un support prêt à l'emploi pour le journal de débogage avec le binaire nginx-debug (1.9.8) pouvant être exécuté à l'aide des commandes :

service nginx stop service nginx-debug start

et définissez ensuite le niveau de débogage. La version binaire de nginx pour Windows est toujours construite avec la prise en charge du journal de débogage, donc seule la définition du niveau de débogage suffira.

Notez que la redéfinition du journal sans spécifier également le niveau de débogage désactivera le journal de débogage. Dans l'exemple ci-dessous, la redéfinition du journal au niveau du serveur désactive le journal de débogage pour ce serveur :

error_log /path/to/log debug;

http {
    server {
        error_log /path/to/log;
        ...

Pour éviter cela, soit la ligne redéfinissant le journal doit être commentée, soit la spécification du niveau de débogage doit également être ajoutée :

error_log /path/to/log debug;

http {
    server {
        error_log /path/to/log debug;
        ...

Journal de débogage pour les clients sélectionnés

Il est également possible d'activer le journal de débogage pour les adresses client sélectionnées uniquement :

error_log /path/to/log;

events {
    debug_connection 192.168.1.1;
    debug_connection 192.168.10.0/24;
}

Enregistrement dans une mémoire tampon cyclique

Le journal de débogage peut être écrit dans une mémoire tampon cyclique :

error_log memory:32m debug;

La journalisation dans la mémoire tampon au niveau du débogage n'a pas d'impact significatif sur les performances, même sous une charge élevée. Dans ce cas, le journal peut être extrait à l'aide d'un script gdb comme celui-ci :

set $log = ngx_cycle->log

while $log->writer != ngx_log_memory_writer
    set $log = $log->next
end

set $buf = (ngx_log_memory_buf_t *) $log->wdata
dump binary memory debug_log.txt $buf->start $buf->end

Ou en utilisant un script lldb comme suit :

expr ngx_log_t *$log = ngx_cycle->log
expr while ($log->writer != ngx_log_memory_writer) { $log = $log->next; }
expr ngx_log_memory_buf_t *$buf = (ngx_log_memory_buf_t *) $log->wdata
memory read --force --outfile debug_log.txt --binary $buf->start $buf->end


PARTAGER CETTE PAGE SUR
Dernière mise à jour : Lundi, le 30 décembre 2024