2013-04-21 59 views
3

Apache爲每個請求創建一個新線程或更準確地說,它重新使用線程池中的一個線程,但Node.js本質上是一個線程。在Apache Web服務器後面運行Node.js Web應用程序會有什麼複雜嗎?例如,我可以有以下配置嗎?Nodejs是否可以在Apache後面運行,並且是否受支持?

http://mywebsite.com/wordpress < - mod_php的

http://mywebsite.com/bugzilla < - mod_perl的

http://mywebsite.com < - 指向的Node.js應用

是否有任何官方支持的Apache插件的Node.js?

實現此拓撲的最佳方式是什麼?

回答

2

你可以這樣設置它。您可以使用mod_proxy來反向代理髮往Node.js的請求。它會起作用,但是如果你正在尋找更好的選擇,我會建議在前端運行Nginx,並將請求反向代理到後端Apache /wordpress/bugzilla路由,然後將所有其他請求反向代理到後端Node.js 。

+1

nodejs <-- Nginx --> Apache - > PHP和PERL聽起來像管理員的噩夢。爲什麼不把所有東西放在Nginx的後面呢? – srquinn 2013-04-21 14:04:04

+1

@RHT - 的確,您可以讓PHP和Perl直接與Nginx對話,然後將所有其他代碼反向代理到後端Node.js.這會讓你免於與Apache混淆,從我的經驗來看,它會更加資源友好。 – Daniel 2013-04-21 23:46:56