我已经习惯了托管环境中,你只需点击的cPanel的几个按钮典型的灯网页和您的域名被划并映射到htdocs目录内的文件夹中。 我一直在使用Node.js的很多,它似乎并没有那么简单做同样的事情。 如果我有多个节点的应用程序,我想航线domain1.com:80和domain2.com:80每个自节点的应用程序和端口,我怎么去这样做? 我从哪里开始?
Answer 1:
这通常是nginx的完成。 Nginx的是一个反向代理,一个软件你把盈方node.js中
server {
listen 80;
server_name www.domain1.com;
root /var/www/domain1;
location / {
proxy_pass http://localhost:1337; # this is where your node.js app_domain1 is listening
}
}
server {
listen 80;
server_name www.domain2.com;
root /var/www/domain2;
location / {
proxy_pass http://localhost:1338; # this is where your node.js app_domain2 is listening
}
}
从这里: 在相同的IP Nginx的不同域
Answer 2:
我不建议更换阿帕奇做这些,nginx的适合用更好的NodeJS。
您可以在端口3000和3001运行例如应用程序,
然后代理它mydomain1:80,和mydomain2:80。
要获得mydomain1和mydomain2 unther 80端口,这是所有关于DNS而不是Apache。
世界上没有其他的方式来运行Apache / nginx的和你在同一端口上节点的httpserver。 ULL得到一个错误。
PS林不知道在ü可以做这些@tipical灯的虚拟主机
希望能帮助到你
Answer 3:
您可以在节点设置虚拟域,如果您使用快递。
你可以使用代码来启动服务器会是这个样子。
var sys = require('sys'),
express = require('express');
var app = express.createServer();
app.configure(function() {
app.use(express.vhost('subdomain1.local', require('./subdomain1/app').app));
app.use(express.vhost('subdomain2.local', require('./subdomain2/app').app));
app.listen(3000);
});
然后,你将出口app
中的每个子域。
var app = express.createServer();
exports.app = app;
这里有一个职位,以了解更多关于在Express.js的虚拟主机 。
文章来源: how do I route multiple domains to multiple node applications?