2011-05-19 133 views
4

我只有一個VPS託管和使用nginx的Django網絡應用程序。現在,我準備用Node.js啓動新的應用程序,並且可以在當前的服務器上託管?我認爲,Node.js正在運行自己的http服務器,它可能與nginx服務器發生衝突。我可以在一臺服務器上託管node.js和Django嗎?

+1

您需要確保他們正在偵聽不同的端口,否則他們不應該發生衝突。 – leek 2011-05-19 06:41:40

回答

2

您可以在單個VPS上託管多個http服務器。只有當nginx和node.js都綁定到相同的端口時,衝突纔會發生。例如,如果您的nginx Web服務器正在偵聽端口80,那麼您的node.js http服務器應該監聽80以外的端口,可以說端口8080.您還可以設置reverse proxy(以防您需要抽象內部網絡並提供服務客戶端在同一端口上),您將接受端口80上的傳入連接,並且nginx會將特定於node.js的通信轉發到端口8080.

+0

請注意,許多企業防火牆阻止除80和443(http(s))以外的任何其他郵件端口。在這種情況下使用第二個IP可能是最好的解決方案。 – Husky 2011-07-03 11:39:55

+0

不需要多個ips,可以通過代理輕鬆使用虛擬主機。所以你應該在8080內部運行節點,然後在nginx到節點的代理端口80上運行該虛擬主機。 – 2013-11-22 22:33:21

1

如果您有多個IP地址,您可以讓nginx偵聽IP1端口80和nodejs在IP2端口80上,如果情況並非如此(您只有一個IP地址),則可能需要爲每個Web服務器使用不同的端口。

相關問題