В настоящее время я размещаю свои приложения node с помощью 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 в качестве внешнего интерфейса этой машины и хотел посмотреть, стоит ли мне вообще использовать экспресс, как только я переключусь. В моей текущей конфигурации я буду использовать nginx для замены части прокси http, которая решает, кому принадлежит vhost (узел или apache). Но если бы я сделал еще один шаг и разместил бы веб-приложения node с nginx вместо express ... было бы это хорошей идеей или нет?
Также - небольшая предыстория моего использования веб-приложений узла. Я планирую сделать полный материал socket.io и выразить (в его текущей форме не передается запрос на обновление, поэтому приложения node socket.io, размещенные таким образом, всегда, к сожалению, возвращаются к долгому опросу)
заранее спасибо
Проверять, выписываться Hipache: распределенный прокси-сервер HTTP и websocket. Оно использует http-proxy
как модуль и делает в основном то, что Ngnix
делает. Я не уверен на 100% в производительности, но DotCloud недавно переключился из Nginx
.