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