0

我想知道,如果我将 Meteor 应用程序部署到 VM,为什么我不能在 vm 上安装 Meteor,然后使用 meteor run 命令运行我的应用程序?文档的部署部分说要创建一个 tarball 包并将其部署到具有 Node 和 MongoDB 的服务器,但我不能只在服务器上安装 Meteor 吗?然后设置我的 DNS 条目来监听 3000 端口……为什么这个想法行不通?

4

2 回答 2

3

你的想法会很好。但是,我只是建议,如果您要使用它,最好在更“生产”类型的环境中运行。它很容易设置。

在高层次上,您将需要:

  1. 需要安装Node 0.8.x
  2. 需要安装MongoDB
  3. 按照此处的说明进行部署。这些刚刚针对 Meteor 0.5.5 进行了更新,所以请注意这一点。
  4. 需要永远安装 node.js 包

为了让我的生活更轻松,我创建了一个脚本来处理启动/停止我的流星应用程序。它将设置一切以使用完整的 MongoDB:

#!/bin/bash

SUCCESS=0
FAILURE=1

if [ $# -ne 1 ]
then
  echo "Usage: start|stop|restart"
  exit $FAILURE
fi

case "$1" in
    start )
        export MONGO_URL=mongodb://localhost:27017/<name of the database>
        export PORT=3000
        export ROOT_URL=http://yourhostname.com:3000
        forever start bundle/main.js 
        ;;

    stop )
        forever stop bundle/main.js
        ;;

    restart )
        forever restart bundle/main.js
        ;;

esac
于 2013-02-14T13:47:16.893 回答
0

可以在常规安装的 Meteor 上在 VM 中运行部署。

可以将其想象为使用内置开发服务器运行 rails 应用程序。就 Meteor 而言,捆绑版本应该与开发版本没有什么不同。您创建的捆绑包确保所有必要的依赖项也与其捆绑在一起。

来自流星文档的关于流星捆绑的引用:

此命令将以 tarball 的形式生成一个完全包含的 Node.js 应用程序。要运行此应用程序,您需要提供 Node.js 0.8 和 MongoDB 服务器。然后,您可以通过调用节点、指定应用程序要侦听的 HTTP 端口和 MongoDB 端点来运行应用程序。如果您还没有 MongoDB 服务器,我们可以向 MongoHQ 的朋友推荐。

$ PORT=3000 MONGO_URL=mongodb://localhost:27017/myapp 节点包/main.js

其他包可能需要其他环境变量(例如,电子邮件包需要 MAIL_URL 环境变量)。

好吧,我从未将底层数据库更改为具有开发版本的专用 MongoDB 服务器,但我认为这应该可以通过设置上述环境变量来实现。

PS:

你写了:

然后设置我的 DNS 条目来监听 3000 端口...

您将很难设置带有 DNS 条目的端口...

于 2013-02-14T07:17:22.043 回答