Node需要Apache吗?

时间:2017-10-05 06:55:19

标签: javascript mysql node.js apache webserver

在我的本地计算机上,我已经设置了一个像教程中的toled一样的Web项目。 我已经安装了XAMPP并使用MySQL和Apache来运行我的Node.JS后端。 现在我即将使用外部服务器来托管项目并通过互联网提供。

所以我必须设置服务器,我想知道为什么我需要Apache(来自XAMPP)来运行Node.JS后端?我认为node.js本身就是一个Web服务器? 那么用XAMPP再次设置外部服务器是一个聪明的主意吗?

当我想通过URL启动index.html时,我也可以使用node.js吗?

2 个答案:

答案 0 :(得分:1)

不,您不需要Apache服务器。因为Node本身将充当服务器,特别是如果您正在使用像Express这样的Frameworks。

您根本不需要Nginx或Apache,但您可以根据需要使用。有些人使用Nginx来实现负载平衡,甚至是处理https或服务器静态内容等其他东西,这是非常舒适的。这是你最后的选择。

为了获得最佳性能,您将根据应用程序的需要将node.js与nginx结合使用。 nginx在提供静态文件方面做得更好,但静态文件的最高性能来自于使用CDN。大多数情况下,您将使用nginx作为反向代理:nginx将接收Web请求,nginx在几个相同或细分的服务器前充当负载均衡器。如果它还需要服务器静态文件,它将直接回答这些请求。

答案 1 :(得分:0)

你不一定需要Apache来运行Node.js,因为它们都完成同样的事情 - 回答HTTP请求。

但是,它们是您可以一起使用它们的场景。例如,您可以使用Apache as a reverse-proxy到Node.js后端服务器。甚至可以使用Node.js作为Apache的反向代理。