Skip to content

📌 Esquema de configuració de Nginx en Docker

🛠️ Instal·lació de dependències

  1. Accedir al contenidor Nginx.
    docker exec -it nginx sh
    
  2. Actualitzar la llista de paquets.

    apk update
    

  3. Instal·lar Nginx i Nano.

    apk add --no-cache nginx nano
    

⚙️ Configuració de directoris i arxius

  1. Crear els directoris necessaris per gestionar llocs web: sites-available i sites-enabled.

    mkdir -p /etc/nginx/sites-available
    mkdir -p /etc/nginx/sites-enabled
    

  2. Crear l'arxiu de configuració de Nginx per Laravel a sites-available.

    nano /etc/nginx/sites-available/laravel.conf
    

  3. Configurar el root segons el volum utilitzat al docker-compose.yml.

    root /var/www/html/sergi-app/public;
    

  4. Habilitar els logs d'error i d'accés de Nginx.

    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    

  5. Configurar la gestió de sol·licituds PHP cap al contenidor laravel amb PHP-FPM.

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass laravel:9000;
        fastcgi_param SCRIPT_FILENAME /laravel/sergi-app/public$fastcgi_script_name;
    }
    

🔧 Enllaç simbòlic i configuració addicional

  1. Crear un enllaç simbòlic a sites-enabled per activar la configuració.
    ln -s /etc/nginx/sites-available/laravel.conf /etc/nginx/sites-enabled/
    
  2. Modificar l'arxiu de configuració principal de Nginx per incloure els arxius de sites-enabled.
    nano /etc/nginx/nginx.conf
    
    (Assegura't d’afegir aquesta línia dins del bloc http si no hi és:)
    include /etc/nginx/sites-enabled/*;
    

🚀 Verificació i reinici de Nginx

  1. Verificar la configuració de Nginx.
    nginx -t
    
  2. Si hi ha errors amb l'arxiu default, eliminar el seu enllaç simbòlic.

    unlink /etc/nginx/sites-enabled/default
    

  3. Iniciar Nginx.

    nginx
    
    (Si ja estava en execució, pots reiniciar-lo així:)
    nginx -s stop
    nginx -s reload
    

📝 Verificació dels logs

  1. Consultar els logs de Nginx per comprovar el funcionament.
    cat /var/log/nginx/error.log