Introducció
NGINX és un servidor web de codi obert que també pot funcionar com a servidor de proxy invers, equilibrador de càrrega, i servidor de correu (IMAP/POP3). Va ser creat per Igor Sysoev i es va llançar per primera vegada el 2004. NGINX és conegut per la seva alta rendibilitat, estabilitat, configuració simple i baix ús de recursos.
Característiques clau de NGINX
- Alt rendiment: NGINX és capaç de gestionar milers de connexions simultànies amb un ús mínim de memòria.
- Proxy invers: Pot actuar com a intermediari entre els clients i els servidors d'aplicacions, millorant la seguretat i la distribució de càrrega.
- Equilibrador de càrrega: Distribueix el trànsit entrant entre diversos servidors per optimitzar l'ús dels recursos.
- Servidor de correu: Suporta protocols IMAP, POP3 i SMTP.
- Caché: Pot emmagatzemar en memòria cau contingut estàtic i dinàmic per millorar el rendiment.
- Configuració flexible: Utilitza fitxers de configuració senzills i fàcils de llegir.
- Modularitat: Suporta mòduls que poden afegir funcionalitats addicionals.
Comparació amb altres servidors web
Característica | NGINX | Apache HTTP Server | Microsoft IIS |
---|---|---|---|
Rendiment | Alt | Moderat | Alt |
Ús de recursos | Baix | Moderat | Alt |
Configuració | Senzilla | Complexa | GUI basada |
Proxy invers | Sí | Sí | Sí |
Equilibrador de càrrega | Sí | Sí | Sí |
Suport de mòduls | Sí | Sí | Limitat |
Suport de plataformes | Linux, Windows, BSD | Linux, Windows, BSD | Windows |
Casos d'ús comuns
- Servidor web: Servir pàgines web estàtiques i dinàmiques.
- Proxy invers: Protegir els servidors d'aplicacions i distribuir la càrrega.
- Equilibrador de càrrega: Distribuir el trànsit entre diversos servidors per millorar la disponibilitat i el rendiment.
- Servidor de correu: Gestionar correu electrònic amb protocols IMAP, POP3 i SMTP.
- Caché: Emmagatzemar en memòria cau contingut per reduir el temps de resposta.
Exemples pràctics
Exemple 1: Configuració bàsica de NGINX com a servidor web
server { listen 80; server_name exemple.com; location / { root /var/www/html; index index.html index.htm; } }
Explicació:
listen 80;
: NGINX escolta les peticions HTTP al port 80.server_name exemple.com;
: Defineix el nom del servidor.location / { ... }
: Defineix la ubicació arrel per servir els fitxers.root /var/www/html;
: Especifica el directori arrel on es troben els fitxers.index index.html index.htm;
: Defineix els fitxers d'índex per defecte.
Exemple 2: Configuració de NGINX com a proxy invers
server { listen 80; server_name exemple.com; location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
Explicació:
proxy_pass http://localhost:8080;
: Redirigeix les peticions al servidor d'aplicacions que escolta al port 8080.proxy_set_header ...
: Afegeix capçaleres addicionals a les peticions redirigides per mantenir informació sobre el client original.
Exercici pràctic
Exercici 1: Configuració bàsica de NGINX
- Instal·la NGINX al teu sistema.
- Crea un fitxer de configuració bàsic per servir una pàgina HTML estàtica.
- Verifica que NGINX està funcionant correctament accedint a la pàgina des del teu navegador.
Solució:
-
Instal·lació de NGINX (exemple per a Ubuntu):
sudo apt update sudo apt install nginx
-
Crea un fitxer HTML a
/var/www/html/index.html
amb el següent contingut:<!DOCTYPE html> <html> <head> <title>Pàgina d'exemple</title> </head> <body> <h1>Hola, NGINX!</h1> </body> </html>
-
Configura NGINX per servir aquest fitxer (el fitxer de configuració per defecte ja ho fa, però pots verificar-ho a
/etc/nginx/sites-available/default
). -
Reinicia NGINX per aplicar els canvis:
sudo systemctl restart nginx
-
Accedeix a
http://localhost
des del teu navegador per veure la pàgina.
Conclusió
En aquesta secció, hem après què és NGINX, les seves característiques clau, com es compara amb altres servidors web, i alguns casos d'ús comuns. També hem vist exemples pràctics de configuració bàsica i com utilitzar NGINX com a proxy invers. Amb aquesta base, estàs preparat per aprofundir en la instal·lació i configuració de NGINX en el següent tema.
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