5

Sto cercando di capire il modo migliore per farlo; essenzialmente ho circa 6 siti web che devo fare online ma al momento avranno un traffico prossimo a zero, quindi per risparmiare denaro devono essere distribuiti sullo stesso server (idealmente useremo Elastic BeanStalk da AWS).Combina più applicazioni web node.js

Esiste un modo per scrivere essenzialmente ogni applicazione Web come normale (in modo che possano essere facilmente presi e trasferiti su un server dedicato in futuro) ma avere un punto di accesso app.js appropriato per caricare l'applicazione nodo in base al URL?

Ovviamente questo non è l'ideale ma e ho pensato a un paio di modi per farlo, ma voglio essere il più possibile non hacky in modo che i siti possano essere facilmente spostati in seguito.

+0

Cosa c'è di sbagliato con loro esecuzione come processi separati? Se vuoi semplicemente inoltrare la richiesta a un nodo specifico, penso che molte persone stiano usando nginx per questo. –

+0

Sinceramente non molto; Stavo davvero cercando una soluzione temporanea e veloce dato che abbiamo già installato roba in Elastic BeanStalk, quindi sarebbe bello riutilizzarla senza rovinarci la strada. Ma sì, questa è un'opzione (e più appropriata). – Kris

risposta

4

Utilizzare connect vhost. http://www.senchalabs.org/connect/vhost.html

var express = require('express'), 
    main = express(); 

main.use(express.vhost('*.site1.com', require('../site1'))); 
main.use(express.vhost('*.site2.com', require('../site2'))); 

main.listen(80); 

E ../site1/index.js potrebbe assomigliare a questo:

var express = require('express'), 
    app = express(); 

app.get('/', function(req, res) { res.send('Home Page'); }); 

module.exports = app; 
+0

Sì, questo era perfetto; a quanto pare non mi ero reso conto che vhost poteva funzionare con un'intera app, ma questo ha senso. Grazie! Speriamo che presto possa essere spostato su una soluzione migliore. – Kris

+0

Ciao ragazzi, vorrà dire che l'app Elastic Beanstalk si ridimensionerà se necessario, ad esempio se solo una delle app riceve traffico/utilizzo elevato ?. Sto cercando un modo per distribuire diverse app di nodiJS che devono essere ridimensionate ma senza disporre di un singolo server per ogni app. Ha senso? – Davo