apache - 为什么在Node.js Express Web框架下需要Apache?

标签 apache node.js deployment express

我将部署我的node.js应用程序。

我可以仅使用node.js来启动自己的Web应用程序。

但是我的父亲告诉我,最好在apache或nginx下提供该Web应用程序。

任何人都有这种经验,为什么我们需要apache,因为我只能在node.js + express上启动我的Web应用程序?

我想了解更多有关部署方面的知识。谢谢你的帮助。

成套工具

最佳答案

在未开发的应用程序中,将Apache置于Node的前面并不常见。我可以授予的唯一情况是,如果您的公司在前端基于Apache的基础架构(监视/安全/路由/缓存等)上已有投资,而sysadmin则坚持这种设置。

有些人喜欢将nginx或haproxy放在前面来管理路由规则,因此他们可以将对静态文件( Assets )的请求从Node.js转移出去(在处理静态文件时,node.js并不总是高效的),或者花哨的负载平衡或故障转移。在0.2.x等的早期,甚​​至Ryan Dahl都提倡在Node.js前面运行一些内容,主要是为了提高安全性。虽然,我认为没有发现任何重大问题。我亲自在Node.js前面运行nginx,因为我们有多个站点和服务都达到了前端共享IP,我们将这些代理返回到监听不同内部端口的各种 Node 实例。

Nginx比Apache更适合,因为它轻巧并且每个请求的线程比Apache线程(在大多数常规设置中)。但是如今,甚至有一个可靠的(不包含node-http-proxy)前端基于Node.JS的代理http://www.github.com/substack/bouncy,名人node.js开发人员之一将使用/将用于前端PaaS。

关于apache - 为什么在Node.js Express Web框架下需要Apache?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9287747/

相关文章:

PHP - 无法执行我的 BASH 脚本来启动我的 C++ 二进制文件

mysql - apache mysql 忘记密码

azure - 当我的项目引用其他 BitBucket 存储库中的程序集时,如何从 BitBucket 部署到 Azure?

apache - 在 TOMCAT 7 上安装 Apache Archiva 作为 Web 应用程序

apache - htaccess : I cannot allow access from a specific domain instead of IP

javascript - 需要与异步函数执行流程相关的帮助(await、promise、node.js)

node.js - 如何使用云功能删除 firebase 存储中的图像?

mysql - 我如何使用全局变量从 mysql 表设置查询 id?

java - 是否将 war 部署到 Nexus 存储库

deployment - msbuild 的 SFTP 任务?