En aquest tema, aprendrem com depurar NGINX per identificar i solucionar problemes que puguin sorgir durant el seu ús. La depuració és una habilitat essencial per a qualsevol administrador de sistemes o desenvolupador que treballi amb NGINX, ja que permet mantenir el servidor en funcionament òptim i resoldre problemes de manera eficient.

Conceptes Clau

  1. Registres d'error: Els registres d'error de NGINX són una font valuosa d'informació per a la depuració.
  2. Nivells de registre: NGINX permet configurar diferents nivells de registre per obtenir més o menys detall.
  3. Eines de depuració: Hi ha diverses eines i tècniques que es poden utilitzar per depurar NGINX.

Registres d'error

Els registres d'error són el primer lloc on mirar quan es produeix un problema amb NGINX. Per defecte, NGINX guarda els registres d'error en el fitxer /var/log/nginx/error.log.

Configuració dels registres d'error

Pots configurar la ubicació i el nivell de detall dels registres d'error en el fitxer de configuració principal de NGINX (nginx.conf):

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

Els nivells de registre disponibles són:

  • debug
  • info
  • notice
  • warn
  • error
  • crit
  • alert
  • emerg

Exemple pràctic

Suposem que volem augmentar el nivell de detall dels registres d'error per ajudar a identificar un problema. Podem canviar el nivell de registre a debug:

error_log /var/log/nginx/error.log debug;

Després de fer aquest canvi, reiniciem NGINX per aplicar la nova configuració:

sudo systemctl restart nginx

Eines de depuració

  1. Comandament nginx -t

Aquest comandament verifica la sintaxi del fitxer de configuració de NGINX. És útil per detectar errors de configuració abans de reiniciar el servidor.

sudo nginx -t

  1. Comandament strace

strace és una eina de depuració que traça les crides al sistema fetes per un procés. Pot ser útil per veure què està fent NGINX en temps real.

sudo strace -p $(pgrep nginx)

  1. Comandament gdb

gdb és un depurador per a programes en C i C++. Pot ser utilitzat per depurar NGINX si es produeix un error greu.

sudo gdb nginx

Exercici Pràctic

Exercici 1: Configurar i revisar registres d'error

  1. Configura el nivell de registre a debug en el fitxer nginx.conf.
  2. Reinicia NGINX per aplicar la nova configuració.
  3. Genera un error intencionat (per exemple, accedint a una pàgina que no existeix).
  4. Revisa el fitxer de registres d'error per veure els detalls de l'error.

Solució

  1. Edita el fitxer nginx.conf i canvia la línia de error_log a:

    error_log /var/log/nginx/error.log debug;
    
  2. Reinicia NGINX:

    sudo systemctl restart nginx
    
  3. Accedeix a una pàgina que no existeix, per exemple:

    curl http://localhost/nonexistentpage
    
  4. Revisa el fitxer de registres d'error:

    sudo tail -n 20 /var/log/nginx/error.log
    

Resum

En aquesta secció, hem après com utilitzar els registres d'error de NGINX per depurar problemes, com configurar diferents nivells de registre i com utilitzar eines de depuració com nginx -t, strace i gdb. La depuració és una habilitat essencial per mantenir NGINX funcionant de manera òptima i resoldre problemes de manera eficient.

© Copyright 2024. Tots els drets reservats