将Meteor和MongoDB部署到Heroku

4 heroku mongodb node.js meteor

我正在尝试按照特定指南将我的项目部署到Heroku(http://bytesofpi.com/post/20898722298/pushing-your-meteor-project-to-heroku)

其中一个步骤表明了这一点

var mongo_url = process.env.MONGOHQ_URL;
Run Code Online (Sandbox Code Playgroud)

需要在server/server.js中替换"MONGO_URL".

问题是我根本找不到变量,唯一提到的变量是在下面的代码中

    // check for a valid MongoDB URL right away
    if (!process.env.MONGO_URL)
         throw new Error("MONGO_URL must be set in environment");
Run Code Online (Sandbox Code Playgroud)

有没有人有这方面的经验,或者知道在哪里可以找到"MONGO_URL以便改变它?

小智 14

我建议您不要使用您提到的文章作为指导,而是执行以下操作:

使用Meteorite构建和运行本地Meteor项目:

https://github.com/oortcloud/meteorite
Run Code Online (Sandbox Code Playgroud)

说明在该页面上.

然后使用这个buildpack:

https://github.com/oortcloud/heroku-buildpack-meteorite
Run Code Online (Sandbox Code Playgroud)

同样,README还有如何在Heroku上创建你的应用程序(单行)

本自述文件底部的注意意味着您需要使用支付卡验证您的Heroku帐户,以便您可以将mongohq:​​免费插件添加到您的应用程序.验证运行后:

heroku addons:add mongohq:sandbox
Run Code Online (Sandbox Code Playgroud)

在Heroku上添加数据库.

那么其他的步骤是应用程序设置ROOT_URL你,一旦应用程序被提交(仅第一次)你的本地应用程序目录中输入:

heroku config:set ROOT_URL=<<domain of your app>>
Run Code Online (Sandbox Code Playgroud)

除非你使用自定义名称<>将是类似的

http://appname.herokuapp.com
Run Code Online (Sandbox Code Playgroud)

如果你然后运行:

heroku config
Run Code Online (Sandbox Code Playgroud)

你会看到MONGOHQ_URL已经与BUILDPACK_URL和ROOT_URL一起设置了.