Nginx

Nginx è un web server ad alte prestazioni utilizzato in Kuboide per servire applicazioni web, file statici e come reverse proxy. È il web server consigliato per la maggior parte delle applicazioni.

Cos'è Nginx

Nginx (pronunciato "engine-x") è uno dei web server più popolari al mondo, noto per:

  • Alte prestazioni con basso consumo di risorse
  • Gestione efficiente di connessioni concorrenti
  • Reverse proxy per applicazioni PHP, Node.js e altri runtime
  • Servire file statici con estrema efficienza
  • Bilanciamento del carico tra più backend

Configurazione Base

Campo Descrizione
Enabled Attiva o disabilita il servizio Nginx
Version Versione di Nginx da utilizzare

Configurazione Dominio

Campo Descrizione
Domain Il dominio principale dell'applicazione (es. example.com o app.example.com)
Root Folder Percorso della cartella root del sito, relativo a /var/www/html/ (es. public, dist)

Autenticazione Basic

Puoi proteggere l'accesso al sito con autenticazione HTTP Basic:

Campo Descrizione
Basic Authentication User Name Nome utente per l'autenticazione Basic
Basic Authentication User Password Password per l'autenticazione Basic

Nota: Quando configurati, l'accesso al sito richiederà l'inserimento di username e password.

Configurazione Docker

Campo Descrizione
CPU Cores Limit Limite CPU per il container (es. 1, 0.5, 2)
Memory Limit (MB) Limite memoria per il container in MB (es. 256, 512, 1024)

File di Configurazione

File Descrizione
nginx.conf Configurazione principale di Nginx con le direttive globali e le impostazioni del server
redirects.conf Configurazione per redirect personalizzati e regole di rewrite
Dockerfile File Docker per la build personalizzata dell'immagine Nginx

nginx.conf

Il file nginx.conf contiene la configurazione principale del web server:

  • Impostazioni worker e connessioni
  • Configurazione del virtual host
  • Location blocks per gestire le richieste
  • Configurazione FastCGI per PHP
  • Proxy pass per Node.js
  • Gestione dei file statici
  • Headers di sicurezza

redirects.conf

Il file redirects.conf permette di configurare:

  • Redirect 301/302 personalizzati
  • Regole di rewrite URL
  • Redirect da www a non-www (o viceversa)
  • Redirect da HTTP a HTTPS

Porte Esposte

Porta Protocollo Descrizione
80 HTTP Traffico web standard (gestito da Traefik)
443 HTTPS Traffico web sicuro (gestito da Traefik)

Best Practices

  1. Imposta limiti di risorse appropriati per evitare che il container consumi troppe risorse
  2. Usa il root folder corretto - per Laravel è public, per applicazioni statiche potrebbe essere dist o build
  3. Configura l'autenticazione Basic per ambienti di staging o sviluppo
  4. Personalizza nginx.conf solo se necessario - la configurazione predefinita è ottimizzata per la maggior parte dei casi

Prossimi Passi

  • Traefik - Configura SSL e routing del traffico
  • PHP - Runtime per applicazioni PHP
  • Node.js - Runtime per applicazioni Node.js