【问题标题】:Hosting NodeJS noSQL website托管 NodeJS noSQL 网站
【发布时间】:2018-08-06 14:34:30
【问题描述】:

我刚刚开始了解有关 Node.js 范例的更多信息,并且发现很难掌握基本概念。我熟悉前端工具(HTML、CSS、JS),并且一直使用 PHP 与 Apache 服务器和 mySQL db 来部署网站。 似乎该节点是它自己的服务器,然后我需要一个像 Heroku 或 AWS 这样的 SaaS 平台(我什至不确定我是否理解这些的目的)如果有人能解释其中的区别吗? 数据库是否在此服务内管理? 该网站是否托管在那里? 您将如何逐步将节点应用程序提供给您的域名?

出于可扩展性的目的,我知道拥有专用的大型基础设施会有所帮助,但是如果构建一个成员数量较少的低流量网站,使用节点是否还有意义? 正常的托管服务费用在 4-20 美元之间。每个月,AWS 或 Heroku 的起步价似乎要高得多。 Node是否仅用于大规模扩展业务模型?

感谢您为我提供的任何答案或最近的良好外部资源(网站或书籍)。

【问题讨论】:

  • 我使用 A2 Hosting,它给了我一个空的 VM,我在其中安装了一个 CentOS (Linux) 版本。从那里,我安装了我想要的东西(Node、MariaDB 等)并按照我想要的方式进行配置,并且很顺利。我已经有一段时间了,我相信还有很多其他选择,它们的工作方式可能不同,可能更好或更差。
  • 谢谢戴夫!这听起来更合理的价格明智。您知道是否可以在任何主机中安装 VM?貌似是标准的托管公司,你只是通过ftp上传linux安装程序等文件?
  • 说“节点是它自己的服务器”不太正确。更准确的说法是“节点可用于启动服务器”。把它想象成一个 Javascript 引擎,添加了一些好东西,例如一些常用实用程序的内置模块集合,以及加载其他外部模块的机制。您可以在其中启动和使用简单的服务器(例如分别用于 HTTP 和 HTTPS 的 http 和 https 模块),您可以使用它们来启动一个或多个服务器。对于 HTTP 和 HTTPS,更常见的是加载外部模块,如 express,但还有其他选项。
  • 我认为您必须咨询特定的托管服务提供商,看看您可以在他们身上做什么。在 A2 使用他们的虚拟主机,我得到了一个虚拟机,并且可以选择 CentOS Linux 版本进行安装。然后我有一个 root 用户并通过 SSH 对其进行配置。
  • @Dave so express 安装到您的 VM Linux 安装中并为您的域服务?您可以从该虚拟主机中提供几个不同的网站吗?对不起,我真的觉得 node、nosql 有点陷入困境......

标签: node.js mean-stack


【解决方案1】:

您可以轻松地在 Heroku 上完全免费地托管一个使用 node.js 构建的低流量网站。 要了解这有多简单,只需阅读 Getting Started With Node.js Heroku 教程,您将在其中做到这一点。

当您使用 node.js 构建您的网站时,您自己编写的代码就是 Web 服务器。您没有单独的 Web 服务器来配置和交互(例如 Apache)。所以你看到的(或代码......)正是你得到的。 您可能希望使用 Express 等框架在您的 node.js 应用程序中构建 Web 服务器功能。

对于 NoSQL 数据库,在 Heroku 上执行此操作的方法是使用来自 Heroku Elements Marketplace 的适当“附加组件”。例如,您可以轻松添加Heroku RedisMongoLab。这些只是 NoSQL“数据库即服务”选项的一部分。这意味着数据库本身托管在云中的某个位置,您的应用程序只需与它进行交互。您无需担心数据库维护、安全升级等问题。您只需专注于应用与数据库的交互即可。

Heroku Elements Marketplace 中的几乎所有附加组件都具有免费层,这可能足以满足您的需求,至少最初是这样。因此,您或许可以完全免费地启动和运行您的低流量网站(包括数据库),至少在最初阶段是这样。

您需要了解的一件事是 Heroku free dyno hours 的工作原理。 如果您需要您的网站 24/7 持续可用,您可能需要使用信用卡verify your Heroku account(即使只要您仅部署 1 个free web dyno 并且处于免费套餐计划中就不会产生任何费用您的 NoSQL DB 即服务)。有关详细信息,请参阅this answer

您还需要考虑在您的低流量应用中是否可以容忍dyno sleeping。如果没有,您需要阻止您的网络应用程序休眠,这也可以完全免费完成。有关如何执行此操作的提示,请参阅here

关于使用您自己的域名为您的 Heroku node.js 应用程序网站提供服务,请参阅here。请注意,为此您也需要使用信用卡验证您的 Heroku 帐户,尽管这也不会产生任何费用。

【讨论】:

  • 看来您几乎可以使用 Heroku 免费托管一个网站?
  • 是的,至少是一个低流量的网站。
【解决方案2】:

Node.js 已经被许多虚拟主机支持,特别是对于那些使用 Plesk 或 cPanel 作为他们的虚拟主机控制面板的人。这是关于如何通过 Plesk 控件设置 Node.js 网站的指南,https://www.bisend.com/blog/how-to-set-up-a-node-js-site-in-plesk。正如您所说,使用廉价的共享虚拟主机托管您的网站非常容易。

【讨论】:

    猜你喜欢
    • 2014-12-18
    • 2021-05-06
    • 2010-12-05
    • 1970-01-01
    • 1970-01-01
    • 2017-04-08
    • 1970-01-01
    • 2016-05-25
    • 1970-01-01
    相关资源
    最近更新 更多