Configuré un proyecto laravel en un servidor Ubuntu con nginx, ahora necesito implementar un segundo proyecto en el mismo servidor, si no tengo un nombre de dominio pero sí una dirección IP, ¿cómo debo definir el nombre_servidor para mi segundo proyecto? Probé con XX.XX.XX.XX/mysecondproject pero tuve un error cuando recargué nginx. Realmente aprecio si me pueden ayudar con esta pregunta. Aquí está mi archivo nginx.
server { listen 80; listen [::]:80; root /var/www/mysecondproject/public; index index.php index.html index.htm index.nginx-debian.html; server_name XX.XX.XX.XX/mysecondproject; location / { try_files $uri $uri/ /index.php?$query_string; } error_page 404 /index.php; location ~ \.php$ { fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; include fastcgi_params; }
}
este enfoque funcionó para mí. De esta forma, tengo un primer proyecto ejecutándose en la dirección IP (XX.XX.XX.XX) y una segunda aplicación ejecutándose en XX.XX.XX.XX/mi_segundo_proyecto. Usé solo el archivo /etc/nginx/sites-available/default para configurar mi servidor. Espero que ayude a alguien en el futuro.
server { listen 80 default_server; listen [::]:80 default_server; root /var/www/my_first_project/public; index index.php index.html index.htm index.nginx-debian.html; server_name XX.XX.XX.XX //my IP Address; location / { try_files $uri $uri/ /index.php?$query_string; } location /my_second_project { alias /var/www/my_second_project/public; try_files $uri $uri/ @my_second_project; location ~ \.php$ { fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include fastcgi_params; } } location @my_second_project { rewrite /my_second_project/(.*)$ /my_second_project/index.php?/$1 last; } error_page 404 /index.php; location ~ \.php$ { fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include fastcgi_params; } }
Si tiene una sola dirección IP para la instancia como 10.0.1.20
y desea servir ambos proyectos en la misma dirección IP, puede probar las siguientes configuraciones.
Su instancia se encuentra en la IP 10.0.1.20
. El puerto 80
es su App1 y el puerto 8080
es su App2.
#App1 server { server_name 10.0.1.20; listen 80; ..... } #App2 server { server_name 10.0.1.20; listen 8080; ..... }
Si desea separar sus aplicaciones por ubicación (/app1, /app2) y no por puerto.
#AppServer 1 server { listen 8081; ...... } #AppServer 2 server { listen 8080; ...... } #ProxyServer server { listen 80; server_name 10.0.1.20; location /app1 { proxy_pass http://localhost:8080/; proxy_set_header Host $host; ...... } location /app2 { proxy_pass http://localhost:8081/; proxy_set_header Host $host; .... } }