<分区>
我想知道在生产服务器上使用 node express 是否安全?
只是为了在服务器上的cmd窗口(在windows 2012 server中)运行node server.js
?
如果没有,有哪些可用的替代方案?
谢谢。
<分区>
我想知道在生产服务器上使用 node express 是否安全?
只是为了在服务器上的cmd窗口(在windows 2012 server中)运行node server.js
?
如果没有,有哪些可用的替代方案?
谢谢。
最佳答案
这实际上取决于您所说的“安全”是什么意思。
如果是安全性或稳定性,最终要由应用程序作者来确保其安全性和稳定性。
但是,如果您指的是服务器上运行的进程的稳定性,您有几个选择。
PM2是一个很棒的 Node.js 进程管理器。您只需告诉 PM2 运行您的代码,它就会运行并执行。您可以流式传输日志、停止、启动、重新启动,所有这些都可以很好地插入 PM2 网络界面(如果您有很多 Node.js 应用程序正在运行,那就太好了!)。我已经个人使用 PM2 大约 6 个月了,我没有遇到任何问题。它还会在应用崩溃时重新启动您的应用,并使您能够在系统重新启动时自动启动应用。
如果您的虚拟主机支持 Docker (基本上,任何不是共享主机的东西),你可以将你的应用程序放在一个容器中并像那样运行它。 Docker 是一个完全不同的球类游戏,但它确实允许您真正轻松地运行您的应用程序而不必担心安全性,因为它(理论上)都在它自己的容器中。
注意:仅限 Linux
使用初始化脚本运行它。您可以将您的应用程序作为系统服务运行,就像 Ghost做。这允许它在系统从重新启动恢复时运行它们,分配一个特定的用户来运行它(如果使用正确,对安全有好处)。我并没有真正使用 init 脚本,主要原因之一是它更复杂。当您运行大量小规模微服务时,实际上没有必要使用初始化脚本。但是,如果您想走那条路,有一个很好的概述 here .
这些不是唯一的解决方案,但它们是我最了解的。我很想看看其他人使用什么!
总而言之,我建议使用 PM2 启动并运行您的应用程序,并且仅在您认为确实有必要时才扩展到初始化脚本。
部署愉快!
关于node.js - 我应该使用 Node express 进行生产吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41086143/
相关文章:
node.js - 如何使用 multer 在 nodejs 中设置不同的目的地?
javascript - 在 JS 中有依赖关系的可遍历树可以使用什么方法?
windows - 如何让 Windows 7 上的 Web 浏览器考虑 etc/hosts 文件
c# - 我可以使用什么作为 C++ 中 Environment.SpecialFolder.CommonApplicationData 的等效项?
node.js - 使用 Express 将多个数据库查询结果发送到单个 View
javascript - 格式化从 PostgreSql 数据库检索的 JSON 数据
javascript - 如何使用变量作为 i18next 的键?