Articles of 虚拟主机

与express.vhost一起使用通配符

express.vhost是否能够支持通配符来捕获一个特定域的所有stream量? 我正在寻找每个子域名(www.example.com,xyz.example.com)和TLD本身(example.com)。

NodeJS Express vhosts和更新app.js

我只是设置了一个NodeJS服务器,并希望使用Express的vhostfunction来实现简单的项目设置。 我希望能够为新项目创build一个新的目录,而不需要经过创build新的子域名的麻烦。 基本上,我希望能够到达node.domain.com/project1 project1和node.domain.com/project2的node.domain.com/project2 。 我现在正在运行位于根( node.domain.com/server.js )中的server.js ,并包含: var express = require('express'); var app = express(); app .use(express.vhost('node.domain.com', require('./project1/app.js').app)) .use(express.vhost('node.domain.com', require('./project2/app.js').app)) .listen(3000); 这一切工作正常,当我去node.domain.com/project1我得到node.domain.com/project1的结果,但每当我改变任何app.js文件中的东西,它需要重新启动( Ctrl+C后由node server.js )为它更新更改。 而app.js的内容是,例如: var express = require('express'); var app = exports.app = express(); app.get('/project1', function(req, res){ res.send('Hello World [/project1]'); }); 任何想法,为什么这是? 需要注意的一点是,我也在同一台服务器上运行Apache,而且我正在使用本指南来允许两台服务器在端口80上运行(但可通过不同的子域访问)。

nodejs socketio多个域(单独的io)

我创build了2个网站,使用socketio + nodejs(+ 2开发网站)。 现在,我需要将这两个网站移到一个服务器上。 为了做到这一点,我使用了express-vhost,它适用于所有的东西,除了socket.io。 在我的应用程序中,我使用了几百次以下的函数。 socket.emit(), io.sockets.emit() , socket.broadcast.emit()等等。 当我创build网站,我第一次使用socketio,并正在学习它。 因此,我从来没有使用名称空间(还没有使用它们)。 现在,当我在vhost下运行这两个站点时,有人连接到site1,他们也连接到site2,因为他们使用相同的socket.io实例。 所以,我试图创buildsocketio的多个实例,每个域的一个,像这样 http = server.listen(80);//my vhost main app global.io_for_domain_1 = require('socket.io')(http, {'transports': ['websocket', 'polling']} ); global.io_for_domain_2 = require('socket.io')(http, {'transports': ['websocket', 'polling']} ); /*And then, in my domain app, i was hoping to simply swap out the reference for io like so …in […]

Express vhosts + https

有没有什么办法可以在https上使用Express运行vhosts? 我目前的代码(非SSL)如下所示: var express = require('express'); var vhost = require('vhost'); var path = require('path'); var appOne = express(); var appTwo = express(); var appVhosts = module.exports = express(); appOne.use(express.static(path.join(__dirname, 'pages'))); appTwo.get('/', function(req, res){ res.send('That service isn\'t up right now!') }); app.use(vhost('siteone.com', appOne)); app.use(vhost('sitetwo.com', appTwo)); appVhosts.listen(80); 不过,据我所知,https模块只接受一个ssl证书。

如何重新启动/更新节点express vhost站点

我在几个网站上工作,都有2个版本,住一个,开发一个。 http://timeprize.com和http://test.timeprize.com它们都运行在相同的端口和服务器上,使用express vhost。 我的虚拟主机应用程序看起来很简单,基本上是这样的: var evh = require('express-vhost'), express = require('express'); /*… some more variable declarations …*/ if ( site_enabled('test.timeprize.com') ) { /**/ evh.register('test.timeprize.com', function() { var app = express(); app = require("../test_app/app.js").run_app(http); return app; }() ); }; if ( site_enabled('timeprize.com') ) { evh.register('timeprize.com', function() { var app = express(); app = require("../live_app/app.js").run_app(http); return app; […]

带有vhost的Node.js / Express与Sails.js框架应用程序冲突

我试图设置我的Nodejs / Express托pipe服务器有多个应用程序(Sails.js应用types)在我的VPS上运行,但我得到这个错误: /srv/data/web/vhosts/default/node_modules/vhost/index.js:78 throw new TypeError('argument server is unsupported') ^ TypeError: argument server is unsupported at createHandle (/srv/data/web/vhosts/default/node_modules/vhost/index.js:78:9) at vhost (/srv/data/web/vhosts/default/node_modules/vhost/index.js:39:16) at Object.<anonymous> (/srv/data/web/vhosts/default/server.js:46:9) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) at node.js:906:3 当然,我以前安装了所有的依赖项。 我为多个应用程序的Nodejs / Express基本configuration是好的,因为它适用于这个快速虚拟主机示例configuration: https://github.com/loicsaintroch/express-vhosts 所以在这里我的nodejs服务器应用程序结构: …/vhosts/default/server.js package.json /app1 /app.js […]

Express.js vhost子域设置

尝试设置连接的虚拟主机中间件。 会喜欢一些帮助。 我有我的正常express.js应用程序,与node_modules,公共,视图和路线目录。 我已经添加了另一个目录旁边的那些持有另一个express.js应用程序。 我已经添加了这一行到我的顶级应用程序(tedxgramercy): app.use(express.vhost('chatter.tedxgramercy.com', require('./chatter/app.js').app)); 而这一行我的聊天应用程序: var app = exports.app = express(); 聊天应用程序调用监听端口8000,主要(顶级)应用程序调用监听端口3000.我不知道是否是正确的。 当我启动我的应用程序(节点应用程序),它运行良好,我可以访问localhost:3000和localhost:8000两个应用程序分别,但是当我部署到我的服务器,子域http://chatter.tedxgramercy.com不工作。 任何指针? 我必须改变我的DNS指向其他端口或什么?

无法使用Google App Engine上的nodejs应用程序更新虚拟机

当我尝试从gcloud CLI进行部署时,出现以下错误。 Copying files to Google Cloud Storage… Synchronizing files to [gs://staging.logically-abstract-www-site.appspot.com/]. Updating module [default]…\Deleted [https://www.googleapis.com/compute/v1/projects/logically-abstract-www-site/zones/us-central1-f/instances/gae-builder-vm-20151030t150724]. Updating module [default]…failed. ERROR: (gcloud.preview.app.deploy) Error Response: [4] Timed out creating VMs. 我的app.yaml是: runtime: nodejs vm: true api_version: 1 automatic_scaling: min_num_instances: 2 max_num_instances: 20 cool_down_period_sec: 60 cpu_utilization: target_utilization: 0.5 我login成功,并有正确的项目ID。 我看到在App Engine的云控制台中创build的新版本,但错误是在这之后。 在标准输出日志中,我看到两个实例都与最后一个console.log语句结合起来,在开始监听端口之后放入应用程序,但是在shutdown.log中,我看到“app was unhealthy”,在syslog中,我看到“WARNING :从来没有从应用程序得到健康的回应,但无论如何发送/ _ah /开始查询。“

如何使用hapi.js在同一台服务器上支持多个网站?

假设我想用同一个IP地址(即虚拟主机)在同一台服务器上托pipe我的两个网站(cats.com和dogs.com)。 我想用hapi.js写他们,并让他们作为一个单独的进程运行。 这些网站可能有重叠的path,例如它们可能都有一个/about页面。 我怎么能用hapi来实现呢?

使用Node.js Express托pipe多个网站

我在使用不同的域configuration两个不同的Node.js应用程序时遇到了问题。 有两个目录 "/abc/" -> express-admin setup (backend) -> admin.abc.com 和 "/xyz/" -> express setup (frontend) -> abc.com 我需要admin.abc.com指向expressionpipe理员设置和abc.com来expression设置。 我已经安装了vhost,并且该站点都监听端口80。 已添加 app.use(vhost('abc.com', app)); // xyz/app.js file app.use(vhost('admin.abc.com', app)); // abc/app.js file 我的问题: 永远安装,每当我启动这两个应用程序,第二个总是停下来。 我尝试使用不同的端口的两个应用程序,但仍然有相同的错误。 他们单独运行没有问题。 我认为我的设置对于域名转发来说太复杂了。 有更好的build议吗? 可能是我有一个主要的app.js文件,我可以用它来路由域到他们各自的应用程序,而不使用每个应用程序的app.js。