我目前正在使用 express 托管我的节点应用程序(在一个简单的代理将它们传递出去之后)
var httpProxy = require('http-proxy');
var http = require('http');
var express = require('express');
httpProxy.createServer(function (req, res, proxy) {
var nodeVhosts = ["www.site.com"]
var host = req.headers['host'];
var port = nodeVhosts.indexOf(host) > -1
? 8080 //must be a node vhost so pass it to :8080
: 9000; //must be an apache vhost so pass it to :9000
proxy.proxyRequest(req, res, {host: 'localhost', port: port});
}).listen(8000);
var app = express();
var server = http.createServer(app);
var site = require('./site/app.js').site
app.use(express.vhost('www.site.com', site));
server.listen(8080);
我想将 nginx 添加为这台机器的前端,并想看看切换后是否应该使用 express。在我当前的配置中,我将使用 nginx 来替换决定 vhost 属于谁(node 还是 apache)的 http 代理部分。但是,如果我更进一步,使用 nginx 而不是 express 来托管 node web 应用程序……这会是个好主意吗?
另外,关于我使用 node web 应用程序的一些背景知识。我计划做完整的 socket.io 东西和 express(目前的形式不会传递升级请求,因此以这种方式托管的 node socket.io 应用程序总是会退回到长轮询)
先感谢您