5

Я пытаюсь выяснить, как это сделать; по сути, у меня около 6 веб-сайтов, которые я должен получить в Интернете, но в настоящий момент у них будет около нулевого трафика, чтобы сэкономить деньги, которые им нужно развернуть на одном сервере (в идеале мы будем использовать Elastic BeanStalk от AWS).Объединение нескольких веб-приложений node.js

Есть ли способ, по существу, написать каждое веб-приложение, как обычно (чтобы их можно было легко взять и перенести на выделенный сервер в будущем), но есть одна точка входа app.js, которая соответствующим образом загружает приложение узла в зависимости от URL?

Очевидно, что это не идеальный вариант, но я подумал о нескольких способах этого, но я хочу быть как можно более неаккуратным, чтобы сайты могли легко перемещаться позже.

+0

Что случилось с запуская их как отдельные процессы? Если вы просто хотите перенаправить запрос на определенный узел, я думаю, что многие люди используют nginx для этого. –

+0

Честно говоря, немного; действительно искал временное и быстрое решение, поскольку у нас уже есть настройка материала в Elastic BeanStalk, поэтому было бы здорово повторно использовать это, не засовывая нас по дороге. Но да, это вариант (и более подходящий). – Kris

ответ

4

Используйте 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); 

И ../site1/index.js может выглядеть следующим образом:

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

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

module.exports = app; 
+0

Да, это было прекрасно; по-видимому, я не понимал, что vhost может работать со всем приложением, но это имеет смысл. Благодаря! Надеюсь, в скором времени его можно будет переместить в лучшее решение. – Kris

+0

Привет, ребята, это означает, что приложение Elastic Beanstalk будет масштабироваться по мере необходимости, если, например, только одно из приложений получает высокий трафик/использование ?. Я ищу способ развернуть несколько приложений nodeJS, которые нужно масштабировать, но без одного отдельного сервера для каждого приложения. Имеет смысл? – Davo

Смежные вопросы