2011-04-02 40 views
0

我想將所有流量轉發到nginx中的某個URL到node.js.我對node.js仍然很陌​​生,我想知道是否應該使用某種CGI服務(如PHP)或者是否應該設置node.js服務器(如nginx - > apache)並將所有流量轉發nginx到如下所示的服務器:將nginx中的流量轉發到node.js的正確方法

var http = require('http'); 
http.createServer(function (req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello Node.js\n'); 
}).listen(8124, "127.0.0.1"); 

這只是一個需要運行node.js腳本的頁面。做這個的最好方式是什麼?

回答

0

Nginx反向代理(aka proxy_pass)不支持保持活動狀態。 但是可以使用第三方模塊Maxim Dounin的上游Keepalive模塊爲FastCGI建立保持連接狀態。

順便說一句,Node.js還沒有任何反向代理運行穩定。

+0

那麼,應用程序的主要部分將在nginx後面運行couchdb - 所以我只需要node.js在一個點上跳轉並執行http請求,檢查結果,然後轉發用戶。我想我可以使用PHP或Ruby來做這件事 - 但我寧願堅持使用JavaScript。我也希望通過SSL進行交易。 – Xeoncross 2011-04-02 19:05:38

+0

我認爲使用Nginx作爲HTTP服務的中間件會導致性能下降,因爲它需要爲每個請求啓動一個新的連接。 Erlang也可以處理許多併發連接。 – Jeff 2011-04-02 19:12:23

+0

那麼,如果couchdb可以將流量轉發到這個單一的node.js頁面,那麼這也可以 - 但是node.js服務器仍然比nginx慢,所以當使用兩個不同的後端時(couchdb和node),我寧願堅持使用nginx。 JS)。 – Xeoncross 2011-04-04 15:38:13

相關問題