我怎么航线多个域的多个节点的应用程序?(how do I route multiple domain

2019-09-01 12:37发布

我已经习惯了托管环境中,你只需点击的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?