使用express.vhosts()在多个域中使用Node.js
Node.js on multiple domains using express.vhosts()
我回到这里与nodejs问题,我正在编写一个节点服务器,允许两个或更多的应用程序。js运行在同一系统上使用express.vhost()。但我现在很迷路。
web主机服务器是运行Ubuntu和plesk的专用服务器,我已经为不同的域分配了2个ip。
xxx.xxx.xxx.123IP分配给domainone.comxxx.xxx.xxx.xxx。456被分配给domain-two.com
都运行nodejs服务器app.js并且每个分配在/var/www/vhosts/[域名]/node/app.js
运行vhost的服务器位于/var/www/node/server.js下面是代码
var express = require("express");
var app = express();
app
.use(express.vhost('domain-one.com', require('/var/www/vhosts/domain-one.com/node/app.js').app))
.use(express.vhost('domain-two.com', require('/var/www/vhosts/domain-two.com/node/app.js').app))
.listen(3030);
app.get('/', function(req, res){
res.send('hello world the server running ');
});
在每个app.js
var express = require('express'),
routes = require('./routes');
var app = exports.app = express.createServer();
app.get('/', function(req, res){
res.send('hello world test file for [domain-name] running');
});
//port 3031 for domain-one.com
//port 3032 for domain-two.com
app.listen(3031);
然后我运行node server.js,一切工作正常,没有错误。
然后运行netstat -anltp
tcp 0 0 0.0.0.0:3030 0.0.0.0:* LISTEN 19839/node
tcp 0 0 0.0.0.0:3031 0.0.0.0:* LISTEN 19839/node
tcp 0 0 0.0.0.0:3032 0.0.0.0:* LISTEN 19839/node
Ok,一切都如我所愿(我想),所以我打开浏览器,输入 domainone.com:3031,在其他选项卡中输入domaintwo.com:3032
但是在两个域中都放弃连接超时…当我运行domain-one。com:3030时它会显示:
hello world服务器正在运行
但不是在domain2-.com:3030,它也挂起了…
我,想让我的头围绕这个,了解一点关于我的服务器和域是如何工作的,以及如何管理运行不同的nodejs应用程序在我的服务器不同的ip/域…
有时候domaintwo.com打印的是domainone.com app.js文件res.send()应该在另一个域名上打印的内容…
我想我现在很困惑……希望你能帮我解决这个问题。
Thanks a lot
客人
使用这种简单而精确的语法可能会更好:
https://github.com/expressjs/vhost
//
// Module dependencies
//
var express = require('express');
var vhost = require('vhost');
var app = express();
//
// vhosts
//
app
.use(vhost('app1.io', require('./app1/app.js')))
.use(vhost('app2.io', require('./app2/app.js')))
.use(vhost('app3.io', require('./app3/app.js')))
.listen(8080);
- 在索引.html和应用.js [node.js] 之间共享变量
- JS(node.js)而循环不起作用
- 如何使用 JS (Node.js) 防止 HTTP 查询中允许使用 UTF8 字符串
- Angular JS & Node Webkit Routing
- 当作为脚本运行时.js Node中“this”的上下文是什么
- JS/Node:- 使用 node.io 选择标记
- JavaScript 如何让节点在返回 node.js/Node-RED 之前等待
- 处理快速连续的函数调用 - Javascript / underscore.js / node.js
- 如何在一台服务器中运行不同的.js文件.js NODE JS中的文件
- JS node-mysql bools 表现得很奇怪
- Node.js+Node Webkit+基于Node串行端口的应用程序-这可能吗
- 如何在Express.js/Node.js中检查查询字符串是否有值
- Express.Js, Node.Js, MongoDB Questions
- 在JS/Node中,当多个人编辑相同的记录时,如何避免数据冲突?有图案吗
- 服务器端js(node.js)上的同步
- 将参数从jade发送到js/node
- angular.js+node.js/electron中的Promise;不起作用
- 是否有可能确定我的应用程序的aws实例使用js/node aws-sdk
- Image Magick模块抛出奇怪的错误(Express js Node js)
- 用JS (Node.js)读取文本文件'