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.htmlamb 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://localhostdes 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
