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.