代码之家  ›  专栏  ›  技术社区  ›  Guangtong Shen

为什么我们需要部署流星应用程序而不是仅仅启动它?

  •  1
  • Guangtong Shen  · 技术社区  · 9 年前

    众所周知,我们只需输入以下命令即可运行流星应用程序 meteor 在终端中。 默认情况下,它将启动服务器并使用端口3000。

    那么,为什么我需要使用 MUP

    我可以将其配置为使用端口80或使用 nginx 路由到应用程序的端口80。所以港口不是重点。


    编辑: 假设流星运行在VPS或云服务器上,该服务器具有公共IP地址,而不是个人计算机。

    2 回复  |  直到 9 年前
        1
  •  1
  •   MrE    9 年前

    MUP还可以做一些自己能做的事情:

    它将代码“捆绑”到单个文件中,使用 meteor build bundle javascript是一个文件,css是另一个文件;它被缩小了,并且经过了模糊处理,因此它更小、加载更快,并且在客户端上不太容易破译。

    有些软件包在生产环境中运行时也会被删除。例如,根据其软件包中的说明,methotToys(用于查找收藏集的实用工具集)并没有绑定到产品包中。这确保您不会部署带有安全漏洞的代码(Meteor toys基本上会打开客户端删除/更新等…如果您不小心的话)

    因此,简而言之,它会安装站点的最小版本,确保只用于开发的内容不会被推到生产环境中。

    编辑:这样做的另一个原因是,您不需要生产服务器上的所有Meteor构建工具;这会增加很多东西,特别是如果你让缓存运行一段时间。。。

    我相信它还可以连接到远程MongoDB实例(至少以前在免费流星站点上是这样),该实例比在web服务器的同一实例上运行更具伸缩性和容错性,以及在需要时提供存储等。

    在您的设备上:

    • 流星构建包 应用程序到tar文件(使用与您将使用的操作系统对应的体系结构标志)

    在服务器上:

    • 安装节点v0.10(或Meteor要求的节点的当前版本)

    • 您可能需要安装Fiber@1.0.5(但我相信这已经是流星安装的一部分了)

    • 解开包裹,进入 bundle/programs/server/ npm install

    • 使用运行服务器 node main.js 位于bundle文件夹中。

        2
  •  0
  •   kpie    9 年前

    部署应用程序的目的是将项目放在本地计算机之外的硬件上。例如,如果您在Heroku应用程序上部署了一个应用程序,那么您可以在Heroko的系统上创建一个存储库,并且基于该代码的应用程序可以从服务器上为您的应用程序提供服务。

    如果您只是在个人系统上启动应用程序,您将面临网络和资源可用性不足以及非高峰时间计算机时间使用不足的问题,因为您的系统需要对其他用户保持关注,而无需执行其他任务。托管提供商根据需要提供资源,其多样化的客户群允许其系统在全球范围内全天候工作。