2013-04-21 79 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