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