NodeJS托管主机与VPS

有很多托管的基于云的托管服务,用于Node.js ,这些服务似乎相对较新,但仍处于Beta中。

托管nodejs应用程序的另一种方法是在像Linode这样的VPS上建立堆栈。

我想知道这两种部署之间的基本区别是什么。一个选择另一个时应考虑哪些因素?

考虑到这些服务的年龄,哪一种更适合生产。

需要明确的是,我并不是要选择提供程序,而是要决定是在托管的nodejs特定托管还是在老式的自设置VPS上托管。

回答:

大多数情况下,使用其中一项服务是您需要编写的代码-让您编写代码,让他们担心管理机器,保持进程运行,创建发布渠道,修补OS等…

相比之下,拥有自己的VM可以为您提供更多控制权,但需要更多的前期和持续时间投资。

另一个考虑因素是,一些托管服务商和云提供商会提供专有或不同的技术变体。它们有它们的理由,并且它们提供了价值,但这确实意味着,如果您要切换云提供商,则可能意味着您必须重写代码,部署脚本等。另一方面,使用以标准操作系统为基准的虚拟机是很普通。如果您自动化/编写脚本/记录虚拟机的配置,并且代码保持通用,那么您的选项将保持打开状态。如果您确实依赖专有的云技术,那么最好将其抽象到接口之后,这样它是一个分离的组件,并且不会散布在整个代码中。

我都做过 我最近进行了VM路径学习,主要是因为我想学习。我不得不:

  • 从云提供商那里获取虚拟机
  • 我必须更新并修补操作系统
  • 我必须安装并配置git作为发布渠道
  • 我不得不编写一些脚本并使用诸如永久之类的东西来保持其运行
  • 我必须配置反向http-proxy才能使其运行多个站点。
  • 我必须使用云提供商配置DNS,为git等打开端口…

清单继续。最后,我花了更多的时间在没有编码的地方,但是我学到了很多东西。如果这些对您很重要,那么请尝试一下。如果您想专注于编写代码,那么节点托管提供程序可能适合您。

最后,我还有更多选择-

我想添加第二个站点。我在反向代理中添加了一个条目,并追加了脚本以永久使用另一个站点来启动另一个应用程序。更多控制权。之后,我想试用MongoDB(简单)安装它。

在成本上,它们大致相同,但是如果您开始使用多个其他软件包(如数据库等)托管多个站点,则VM可能会开始变得便宜。

Nodejitsu开源了他们的工具,如果您自己动手,也可以轻松实现。

如果您自己进行操作,则以下一些链接可能会对您有所帮助:

保持服务器正常运行:

https://github.com/nodejitsu/forever/

http://blog.nodejitsu.com/keep-a-nodejs-server-up-with-

forever

https://github.com/bryanmacfarlane/svchost

Upstart和Monit通用自动启动并通过监视重新启动

http://howtonode.org/deploying-node-upstart-

monit

群集节点每个核心运行一个进程

http://nodejs.org/docs/latest/api/cluster.html

反向代理

https://github.com/nodejitsu/node-http-

proxy

https://github.com/nodejitsu/node-http-

proxy/issues/232

http://blog.nodejitsu.com/http-proxy-

middlewares

https://github.com/nodejitsu/node-http-

proxy/issues/168#issuecomment-3289492

http://blog.argteam.com/coding/hardening-node-js-for-production-part-2-using-

nginx-to-avoid-node-js-load/

编写安装脚本

https://github.com/bryanmacfarlane/svcinstall

以上是 NodeJS托管主机与VPS 的全部内容, 来源链接: utcz.com/qa/405249.html

回到顶部