组合多个node.js Web应用程序

Kri*_*ris 5 multiple-sites amazon-web-services node.js amazon-elastic-beanstalk

我正试图找出实现这一目标的最佳方法; 基本上我有大约6个网站,我必须上网,但目前他们将接下来零流量,所以为了省钱,他们需要部署在同一台服务器上(理想情况下,我们将使用AWS的Elastic BeanStalk).

有没有办法基本上像正常一样编写每个Web应用程序(以便将来可以轻松地将它们移动到专用服务器)但是有一个app.js入口点适当加载节点应用程序,具体取决于URL?

显然这并不理想,但我想到了几种方法可以做到这一点,但我希望尽可能不那么hacky,以便以后可以轻松移动网站.

Tre*_*xon 4

使用连接虚拟主机。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);
Run Code Online (Sandbox Code Playgroud)

可能../site1/index.js看起来像这样:

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

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

module.exports = app;
Run Code Online (Sandbox Code Playgroud)