【问题标题】:Apache needed for NodeJs?NodeJs 需要 Apache?
【发布时间】:2017-10-05 06:55:18
【问题描述】:

在我的本地机器上,我已经建立了一个 web 项目,就像教程中所说的那样。 我已经安装了 XAMPP 并使用 MySQL 和 Apache 来运行我的 Node.JS 后端。 现在我将使用外部服务器来托管该项目并通过互联网使其可用。

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

当我想通过 URL 启动 index.html 时,我也可以使用 node.js 来执行此操作吗?

【问题讨论】:

    标签: javascript mysql node.js apache webserver


    【解决方案1】:

    不,您不需要 Apache 服务器。因为 Node 本身将充当服务器,尤其是在使用 Express 等框架时。

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

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

    【讨论】:

    • 这个项目只是针对某个员工的,所以我认为同时使用webapp的人并不多(>10)。后端正在使用一些谷歌服务,因此可能会有几个请求/响应操作。你认为这个也需要 nginx 吗?到目前为止我还没有使用过 nginx
    • 不,你根本不需要 Nginx 服务器。您的普通 Node 服务器可以轻松处理 Microserver 实例上的大约 500 个用户。
    • 是的,即使你在普通电脑上启动Node项目,它也可以轻松处理50多个用户。你可以不用Nginx或Apache,即使用户增加也不会遇到任何问题。跨度>
    【解决方案2】:

    您不一定需要 Apache 来运行 Node.js,因为它们都完成相同的事情 - 响应 HTTP 请求。

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

    【讨论】:

    • 这样的场景是你不想在 Node.js 中监听 80 端口,但它已经被 Apache 使用了,因为你有其他需要 Apache 的项目,比如 PHP 网站,在这种情况下,你可以使用 Apache 作为代理服务器,Node.js 监听另一个端口。
    猜你喜欢
    • 1970-01-01
    • 2016-09-11
    • 2012-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-31
    • 2017-07-13
    • 2016-06-18
    相关资源
    最近更新 更多