JSRUN 用代码说话

部署

编辑教程

部署

引入附录

这是一个附录章节。 不同于其他书的是,本书的附录会让我们深入去了解更多关于 Meteor 的知识。

现在如果你更愿意去继续构建 Microscope ,你现在可以先忽略这一章,等有空再回来看也没问题。

部署在 Meteor

首先最简单的是部署到 Meteor 的子域名上(例如: http://myapp.meteor.com ),这是首先要去学习的。在项目早期,这对于展示你的应用和快速设置一个测试服务器都很有用途。

而部署在 Meteor 是非常简单的。打开终端,定位到 Meteor 应用的目录,并输入:

meteor deploy myapp.meteor.com

要把“myapp”替换成想要的名称,最好是命名一个没有被使用的。如果名称已经被使用,Meteor 会提示去输入密码。如果发生这样的情况,只需通过 ctrl+c 来取消当前操作,然后用另一个不同的名称再试一次。

如果顺利地部署成功了,几秒钟后你就能够在 http://myapp.meteor.com 上访问到你的应用了。

可以参考官方文档去了解更多关于如何直接访问你域名下的数据库,或者为你的应用设置一个自定义域名等等的相关信息。

部署在 Modulus

Modulus 是一个部署 Node.js 应用 很好的选择。这是为数不多的 PaaS(platform-as-a-service 平台即服务)的提供商,并且已经正式支持 Meteor ,已经有不少人在它上面去搭建 Meteor 应用了。

你可以通过阅读他们的部署 Meteor 应用指南去了解更多关于 Modulus 的信息。

Meteor Up

虽然每天都有新的云端解决方案出来,但是它们通常都有自己的一些问题和限制。目前,把 Meteor 应用部署在自己的服务器才是一个最好的方式。然而麻烦的是,部署到自己的服务器并不是那么简单,尤其如果你注重产品部署上去的质量的话。

Meteor Up (简称 mup )是另一个通过命令行的操作去帮助你解决安装和部署问题。所以让我们看看如何通过 Meteor Up 来部署 Microscope。

在此之前,我们需要一个服务器来发布。我们建议使用 Digital Ocean(每月最低5美元),或者 AWS(它为小型实例提供免费,如果你只是想试玩玩 Meteor Up 就已经足够了)。

无论选择哪种服务,你应该要解决这三样东西:你服务器的 IP 地址,登录账号(通常是 root 或者 ubuntu )和登录密码。将它们安全地保存起来,我们很快就会用到。

Meteor Up 的初始化

首先,我们需要通过 npm 去安装 Meteor Up:

npm install -g mup

然后我们将创建一个单独的目录,为我们的 Meteor Up 提供一个特定的部署环境。我们使用单独的目录出于两个原因:第一,这可以很好的避免里面包含任何你 Git 存储库的隐藏文件,尤其如果你是在公共代码库去操作。

第二,通过使用多个单独的目录,我们能够并行地进行多个 Meteor Up 管理和配置。这将会用在实际产品的部署以及分段实例的部署。

所以我们来创建这个新目录,并使用它来初始化一个新的 Meteor Up 项目:

mkdir ~/microscope-deploy
cd ~/microscope-deploy
mup init

通过 Dropbox 分享

为了确保你和你的团队都使用相同的部署设置,一个很好的方法就是把你的 Meteor Up 配置文件夹放在你的 Dropbox 上,或者任何类似的服务上。

Meteor Up 的配置

当初始化一个新项目的时候,Meteor Up 会为了创建两个文件: mup.json 和 settings.json 。

mup.json 会保存所有我们部署的相关设置,而 settings.json 会保存所有应用的相关设置(OAuth token、Analytics token,等等)。

下一步就是去配置你的 mup.json 文件。 mup.json 会默认在执行 mup init 的时候生成,而你要做的就是把空白的填上:

{
  //server authentication info
  "servers": [{
    "host": "hostname",
    "username": "root",
    "password": "password"
    //or pem file (ssh based authentication)
    //"pem": "~/.ssh/id_rsa"
  }],

  //install MongoDB in the server
  "setupMongo": true,

  //location of app (local directory)
  "app": "/path/to/the/app",

  //configure environmental
  "env": {
    "ROOT_URL": "http://supersite.com"
  }
}

服务器身份验证

你会注意到 Meteor Up 提供了基于密码和基于私钥(PEM)的身份验证,所以它几乎可以用于任何的云提供商。

重要提示:如果你选择使用基于密码的身份验证,确保你在这之前已经安装了 sshpass (使用指南)。

MongoDB 配置

下一步是为你的应用配置 MongoDB 数据库。我们建议使用 Compose 或者其他提供云端 MongoDB 的提供商,因为它们提供专业支持和更好的管理工具。

如果你决定使用 Compose ,把 setupMongo 设置为 false ,并添加 MONGO_URL 环境变量到 mup.json 中的 env 模块。如果你决定通过 Meteor Up 去访问 MongoDB ,只需要设置 setupMongo 为 true ,然后 Meteor Up 会完成剩下的工作。

Meteor 应用路径

因为 Meteor Up 的配置作用在不同的目录,我们需要通过 app 属性去把 Meteor Up 指回到应用。只需要设置你完整的本地路径,当你位于你的应用目录里面的时候,你可以使用 pwd 命令去获取它。

环境变量

你可以在 env 模块中指定应用的所有环境变量(比如: ROOT_URL , MAIL_URL , MONGO_URL 等等)

设置和部署

在我们可以部署之前,我们还需要设置服务器去为 Meteor 应用托管。Meteor Up 把这个复杂的过程封装在一个简单的命令上!

mup setup

可能需要几分钟,这取决于服务器的性能和网络连接速度。设置成功后,终于可以去部署我们的应用:

mup deploy

这将会打包我们的 Meteor 应用并部署到我们刚刚设置好的服务器上。

显示日志信息

日志也是非常重要的, Meteor Up 提供非常简单的方法去处理它,通过模仿 tail -f 命令,输入:

mup logs -f
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟