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
- Registres d'error: Els registres d'error de NGINX són una font valuosa d'informació per a la depuració.
- Nivells de registre: NGINX permet configurar diferents nivells de registre per obtenir més o menys detall.
- 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
):
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
:
Després de fer aquest canvi, reiniciem NGINX per aplicar la nova configuració:
Eines de depuració
- Comandament
nginx -t
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.
- Comandament
strace
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.
- Comandament
gdb
gdb
gdb
és un depurador per a programes en C i C++. Pot ser utilitzat per depurar NGINX si es produeix un error greu.
Exercici Pràctic
Exercici 1: Configurar i revisar registres d'error
- Configura el nivell de registre a
debug
en el fitxernginx.conf
. - Reinicia NGINX per aplicar la nova configuració.
- Genera un error intencionat (per exemple, accedint a una pàgina que no existeix).
- Revisa el fitxer de registres d'error per veure els detalls de l'error.
Solució
-
Edita el fitxer
nginx.conf
i canvia la línia deerror_log
a:error_log /var/log/nginx/error.log debug;
-
Reinicia NGINX:
sudo systemctl restart nginx
-
Accedeix a una pàgina que no existeix, per exemple:
curl http://localhost/nonexistentpage
-
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.
Curs de NGINX
Mòdul 1: Introducció a NGINX
Mòdul 2: NGINX com a servidor web
- Servint contingut estàtic
- Llistats de directoris
- Pàgines d'error personalitzades
- Registre i formats de registre