run nodejs node digitalocean deploy application app node.js nginx

node.js - digitalocean - nodejs



NGINX: aplicaciones js de mĂșltiples nodos en el mismo servidor utilizando dominio/ruta (1)

¿Debería modificar siempre la aplicación cuando desea asignar un dominio / ruta?

No, no debería tener que modificar la aplicación en absoluto.

Cuando usa proxy_pass de esta manera, necesita volver a escribir la URL con regex. Pruebe algo como esto:

location ~ ^/app1/(.*)$ { proxy_pass http://localhost:8080/$1$is_args$args; }

Ver también: https://serverfault.com/q/562756/52951

Problema

Si tengo algunas aplicaciones node js y si quiero publicarlas como middominio.com/app1, middominio.com/app2, etc. tengo que cambiar la aplicación.get ''/'' a app.get (''/ app1'' y también en algunos casos css, js y rutas de imágenes.

Pregunta

¿Debería modificar siempre la aplicación cuando desea asignar un dominio / ruta ?

¿Hay alguna manera de hacer que la aplicación sea independiente?

¿Es una configuración nodejs o nginx?

Esta es una aplicación de nodo js utilizada como ejemplo:

https://github.com/jrichardsz/responsive_web1.1/blob/master/server.js

Esta es mi configuración nginx para mi aplicación node js para mydomain.com (¡funciona!)

server { listen 80; server_name mydomain.com; location / { proxy_pass http://localhost:8080/; } }

Aplicación de nodo:

app.get(''/'', function(req, res) { // ejs render automatically looks in the views folder res.render(''index''); });

Esta es mi configuración de nginx para la misma aplicación de nodo js pero mydomain.com/app1 (¡funciona!)

server { listen 80; server_name mydomain.com; location /app1/ { proxy_pass http://localhost:8080/app1/; } }

Y esta es la solución en la aplicación node js

app.get(''/app1'', function(req, res) { // ejs render automatically looks in the views folder res.render(''index''); });

Lo intenté :

https://github.com/expressjs/express-namespace

http://expressjs.com/en/4x/api.html

Pero en ambos casos, necesito cambiar mi aplicación node js.

Gracias por adelantado.