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

  1. Alt rendiment: NGINX és capaç de gestionar milers de connexions simultànies amb un ús mínim de memòria.
  2. Proxy invers: Pot actuar com a intermediari entre els clients i els servidors d'aplicacions, millorant la seguretat i la distribució de càrrega.
  3. Equilibrador de càrrega: Distribueix el trànsit entrant entre diversos servidors per optimitzar l'ús dels recursos.
  4. Servidor de correu: Suporta protocols IMAP, POP3 i SMTP.
  5. Caché: Pot emmagatzemar en memòria cau contingut estàtic i dinàmic per millorar el rendiment.
  6. Configuració flexible: Utilitza fitxers de configuració senzills i fàcils de llegir.
  7. 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
Equilibrador de càrrega
Suport de mòduls Limitat
Suport de plataformes Linux, Windows, BSD Linux, Windows, BSD Windows

Casos d'ús comuns

  1. Servidor web: Servir pàgines web estàtiques i dinàmiques.
  2. Proxy invers: Protegir els servidors d'aplicacions i distribuir la càrrega.
  3. Equilibrador de càrrega: Distribuir el trànsit entre diversos servidors per millorar la disponibilitat i el rendiment.
  4. Servidor de correu: Gestionar correu electrònic amb protocols IMAP, POP3 i SMTP.
  5. 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

  1. Instal·la NGINX al teu sistema.
  2. Crea un fitxer de configuració bàsic per servir una pàgina HTML estàtica.
  3. Verifica que NGINX està funcionant correctament accedint a la pàgina des del teu navegador.

Solució:

  1. Instal·lació de NGINX (exemple per a Ubuntu):

    sudo apt update
    sudo apt install nginx
    
  2. 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>
    
  3. 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).

  4. Reinicia NGINX per aplicar els canvis:

    sudo systemctl restart nginx
    
  5. 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.

© Copyright 2024. Tots els drets reservats