Instalé Laradock pero no puedo configurar varios proyectos en localhost para el desarrollo.
1) Clonación del repositorio git de Laradock
git clone https://github.com/Laradock/laradock.git
2) Crear varias carpetas de proyectos
- laradock - new-project ﹂index.php - test-project ﹂index.php3) Configuración de archivos de configuración de Nginx para cada proyecto
laradock/nginx/sites/new-project.conf
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; server_name ~^(?<project>.+)\.laradock\.dev$; root /var/www/$project; index index.php index.html index.htm; ... } Y la misma configuración para laradock/nginx/sites/test-project.conf
4) Componer
docker-compose up -d nginx mysql phpmyadmin
Como resultado, el contenedor Nginx falla:
$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3189cee03979 laradock_nginx "/bin/bash /opt/star…" 6 seconds ago Exited (1) 4 seconds ago laradock_nginx_1 b078751511b4 laradock_php-fpm "docker-php-entrypoi…" 6 seconds ago Up 5 seconds 9000/tcp laradock_php-fpm_1 e4c2eab1cd2b laradock_phpmyadmin "/docker-entrypoint.…" 8 seconds ago Up 6 seconds 0.0.0.0:8081->80/tcp laradock_phpmyadmin_1 d2f5ce2fdda4 laradock_workspace "/sbin/my_init" 8 seconds ago Up 6 seconds 0.0.0.0:3000-3001->3000-3001/tcp, 0.0.0.0:8080->8080/tcp, 0.0.0.0:2222->22/tcp, 0.0.0.0:8001->8000/tcp laradock_workspace_1 40da6b9cfdd5 laradock_mysql "docker-entrypoint.s…" 8 seconds ago Up 7 seconds 0.0.0.0:3306->3306/tcp, 33060/tcp laradock_mysql_1 7963bf244ca6 docker:19.03-dind "dockerd-entrypoint.…" 8 seconds ago Up 7 seconds 2375-2376/tcp laradock_docker-in-docker_1 Pero si elimino el archivo de configuración de nginx/sites y dejo solo uno de ellos funcionando, es decir test-project.conf , funciona bien como para un proyecto. Entro en localhost en la barra de direcciones y carga la página correctamente por si acaso hay un archivo de configuración en nginx/sites pero no dos o más.
¿Cómo configurar correctamente los archivos de configuración de Nginx para manejar múltiples proyectos en localhost? ¿Hay alguna forma de codificar el valor de server_name en lugar de usar la variable $project ?
Copié el archivo default.conf para cada nueva configuración. En cada nuevo archivo conf creado, necesitaba eliminar el ssl ipv6only=on part
de esto: escucha 443 ssl; escucha [::]:443 ssl ipv6only=on;
a esto: escucha 443 ssl; escucha [::]:443;
Lo descubrí gracias a este hilo en reddit: https://www.reddit.com/r/laravel/comments/9ubn31/laradock_nginx_issue_for_multi_site_configuration/
Ahora me funciona bien. Espero que esto ayude.