📌 Esquema de configuració de Nginx en Docker per a Ubuntu
🛠️ Instal·lació de dependències
-
Accedir al contenidor Nginx:
Per començar, accedeix al contenidor de Docker on vols configurar Nginx. Si tens un contenidor ja creat, utilitza la comanda:bash docker exec -it <contenedor_id> /bin/bash
-
Actualitzar la llista de paquets:
Actualitza els paquets disponibles a Ubuntu per garantir que tot està al dia:bash apt-get update
-
Instal·lar Nginx i Nano:
Instal·la Nginx i l'editor de text Nano (per editar arxius de configuració):bash apt-get install -y nginx nano
⚙️ Configuració de directoris i arxius
-
Crear els directoris necessaris per gestionar llocs web:
Crea els directorissites-available
isites-enabled
per gestionar les configuracions dels llocs web:bash mkdir -p /etc/nginx/sites-available /etc/nginx/sites-enabled
-
Crear l'arxiu de configuració de Nginx per Laravel a
sites-available
:
Crea un arxiu de configuració específic per al projecte Laravel, per exemple,laravel.conf
:bash nano /etc/nginx/sites-available/laravel.conf
Aquest arxiu hauria de tenir una configuració bàsica com la següent: ```nginx server { listen 80; server_name example.com;root /var/www/html/public; # Ajusta el path segons el teu contenidor
index index.php index.html index.htm;
location / { try_files $uri $uri/ /index.php?$query_string; }
location ~ .php$ { include fastcgi_params; fastcgi_pass php-fpm:9000; # Ajusta segons el teu contenidor PHP-FPM fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
error_log /var/log/nginx/error.log; access_log /var/log/nginx/access.log; } ```
-
Configurar el root segons el volum utilitzat al
docker-compose.yml
:
Assegura't que el directoriroot
a la configuració apunti al directori correcte dins del contenidor, segons la configuració de volums adocker-compose.yml
. Per exemple: ```yaml volumes:- ./laravel:/var/www/html ```
-
Habilitar els logs d'error i d'accés de Nginx:
Configura els arxius de log per registrar errors i accés de les peticions:nginx error_log /var/log/nginx/error.log; access_log /var/log/nginx/access.log;
-
Configurar la gestió de sol·licituds PHP cap al contenidor
laravel
amb PHP-FPM:
Configura la connexió amb PHP-FPM per tal que Nginx pugui processar arxius PHP:nginx location ~ \.php$ { fastcgi_pass php-fpm:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
🔧 Enllaç simbòlic i configuració addicional
-
Crear un enllaç simbòlic a
sites-enabled
per activar la configuració:
Crea un enllaç simbòlic des desites-available
fins asites-enabled
per activar la configuració del lloc web:bash ln -s /etc/nginx/sites-available/laravel.conf /etc/nginx/sites-enabled/
-
Modificar l'arxiu de configuració principal de Nginx per incloure els arxius de
sites-enabled
:
Assegura't que el fitxer de configuració principal de Nginx (/etc/nginx/nginx.conf
) inclogui els arxius de configuració del directorisites-enabled
:nginx include /etc/nginx/sites-enabled/*;
🚀 Verificació i reinici de Nginx
-
Verificar la configuració de Nginx:
Comprova que la configuració de Nginx no tingui errors:bash nginx -t
-
Eliminar l'enllaç simbòlic per defecte si és necessari:
Si tens problemes amb la configuració predeterminada (default
), elimina l'enllaç simbòlic que apunta a aquest fitxer:bash rm /etc/nginx/sites-enabled/default
-
Reiniciar Nginx:
Finalment, reinicia Nginx per aplicar la nova configuració:bash service nginx restart
📝 Verificació dels logs
- Consultar els logs de Nginx per comprovar el funcionament:
Si tens dubtes o vols verificar que tot estigui funcionant correctament, pots consultar els logs d'errors i d'accés:bash tail -f /var/log/nginx/error.log tail -f /var/log/nginx/access.log
Amb aquests passos hauràs configurat Nginx correctament dins un contenidor Docker per servir un lloc Laravel a Ubuntu. Si tens algun dubte o necessites més detalls, no dubtis a preguntar!