5

Próbuję znaleźć najlepszy sposób, aby to osiągnąć; Zasadniczo mam około 6 stron internetowych, które muszę uzyskać online, ale w tej chwili będą one miały zero ruchu, więc aby zaoszczędzić pieniądze, muszą być wdrożone na tym samym serwerze (najlepiej będziemy używać Elastic BeanStalk z AWS).Połączyć wiele aplikacji sieci web node.js

Czy istnieje sposób, aby zasadniczo pisać każdą aplikację internetową, tak jak zwykle (aby można je było łatwo pobrać i przenieść na serwer dedykowany w przyszłości), ale mają jeden punkt wejścia app.js, który odpowiednio ładuje aplikację węzła w zależności od URL?

Oczywiście nie jest to idealne rozwiązanie, ale pomyślałem o kilku sposobach, aby to zrobić, ale chcę być jak najbardziej nie-hakowaty, aby strony mogły być łatwo przeniesione później.

+0

Co jest nie tak z systemem ich jako oddzielnych procesów? Jeśli chcesz po prostu przesłać żądanie do określonego węzła, myślę, że wiele osób używa do tego nginx. –

+0

Szczerze mówiąc niewiele; Naprawdę szukałem tymczasowego i szybkiego rozwiązania, ponieważ mamy już ustawienia sprzętu w Elastic BeanStalk, więc byłoby wspaniale wykorzystać je ponownie, nie skręcając w dół drogi. Ale tak, to opcja (i bardziej odpowiednia). – Kris

Odpowiedz

4

Użyj połączenia 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); 

I ../site1/index.js może wyglądać następująco:

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

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

module.exports = app; 
+0

Yup to było idealne; najwyraźniej nie zdawałem sobie sprawy, że vhost może działać z całą aplikacją, ale ma to sens. Dzięki! Mam nadzieję, że wkrótce zostanie przeniesiony do lepszego rozwiązania. – Kris

+0

Witajcie, czy to oznacza, że ​​aplikacja Elastic Beanstalk zostanie skalowana w razie potrzeby, jeśli na przykład tylko jedna z aplikacji uzyska wysoki ruch/użycie ?. Szukam sposobu wdrożenia kilku aplikacji nodeJS, które muszą być skalowane, ale bez jednego serwera dla każdej aplikacji. Ma sens? – Davo

Powiązane problemy