众所周知,我们只需在终端中键入meteor
即可运行流星应用。
默认情况下,它将启动服务器并使用端口3000.
那么为什么我需要使用MUP
等来部署它。
我可以将其配置为使用端口80或使用nginx
路由到应用程序的端口80。所以端口不是重点。
编辑: 假设meteor在具有公共IP地址的VPS或云服务器上运行,而不是个人计算机。
答案 0 :(得分:1)
MUP会做一些你自己可以做的额外事情:
它'捆绑'使用meteor build bundle
将代码放入单个文件中
javascript是一个文件,css是另一个文件;它被缩小和混淆,因此它的加载更小,更快,并且不易破译客户端。
在生产中运行时,某些包也应被删除。例如,meteorToys,用于查找集合的实用工具集等等,并未按照其包中的说明捆绑到生产包中。这可以确保您不会部署带有安全漏洞的代码(Meteor玩具基本上会打开客户端删除/更新等等......如果您不小心的话)
因此,简而言之,它会安装您网站的最小版本,确保只对开发有意义的内容不会推向生产环境。
编辑:除此之外,您还需要生产服务器上的所有Meteor构建工具;这可能会增加很多东西,特别是如果你让缓存持续一段时间......
我相信它还负责连接到一个远程MongoDB实例(至少它曾经是免费流星站点的情况),它比在与Web服务器相同的实例上运行更具可扩展性和容错性,以及提供存储等......如果需要的话。
基本上,要手动部署Meteor应用程序,您需要:
你的开发箱上的:
meteor build bundle
您的应用程序到tar文件(使用与您将使用的操作系统对应的体系结构标志)在服务器上:
安装节点v0.10(或Meteor所需节点的当前版本)
你可能需要安装Fiber@1.0.5(但我相信现在已经是meteor安装的一部分了)
解开捆绑包,进入bundle/programs/server/
并运行npm install
在捆绑包文件夹中运行node main.js
的服务器。
答案 1 :(得分:0)
部署应用程序的目的是将项目置于本地计算机外部的硬件上。例如,如果您在Heroku应用程序上部署应用程序,则会在heroku的系统上创建一个存储库,并且该代码用于从您的服务器提供应用程序。
如果您只是在个人系统上启动应用程序,您将在非高峰时段缺乏网络和资源可用性以及计算机时间的使用,因为您的系统需要保持对其他用户的关注而不必替代任务。托管服务提供商根据需要提供资源,其多样化的客户群使其系统能够在全球范围内全天候工作。