在Heroku上使用express+MongoDB

我尝试使用Express和MongoDB开发的Web应用在Heroku上进行部署。虽然在Qiita上有一些步骤说明,但是最新的Heroku似乎有些不同。

按照这个链接(http://devcenter.heroku.com/articles/getting-started-with-nodejs#introduction)上的介绍进行操作。

下载并安装Heroku工具包。

2) 可以通过终端登录Heroku
如果有HerokuToolbelt的更新,则会被更新。

3) 在想要部署的环境的顶级目录中(如果尚未完成以下步骤)
执行 git init 命令
编辑.gitignore文件(指定一些文件如node_modules)
执行 git add . 命令
执行 git commit -m “hoge” 命令
作为准备。

如果想指定应用程序名称,请使用”heroku create”命令生成应用程序时作为参数指定。

使用「git push heroku master」进行推送时,如果存在package.json文件,它会自动安装所需的依赖模块。

然而,在这里卡住了

package.jsonで「FeedParser」と指定していたのだけど、not foundと言われてエラーになる。ローカルだと見つかってますがなと試行錯誤した末「feedparser」としたら成功しました。

“heroku ps:scale web = 1” 指定实例数量

暂时部署就可以了。
在推送时,确认可以访问到地址。
接下来是设置MongoDB。
我们将在Heroku的AddOn中进行配置。
如果是Sandbox版本,我们将使用免费的mongolab。

在选择Sandbox模式的情况下,右下角会显示一个命令,将其复制并在控制台中执行。
如果未注册信用卡信息,将会出现错误,因此即使是免费的也应该进行注册。

如果命令成功结束,你可以在Heroku仪表盘上选择相关应用程序,然后点击“mongolab”作为附加功能进行添加,并跳转到mongolab的设置页面。
还有关于在mongo shell中访问的步骤等等。
另外,通过命令行执行“heroku config”,你可以查看到访问目标被记录为“MONGOLAB_URI”。
在其中会记录着dbsuser和dbpassword,所以请进行核对。

无法更改数据库名称。如果执行”use hoge”操作,将被拒绝并提示”not authorized”。

如果通过MONGOLAB_URI的值连接 mongoose.connect,就可以访问 MongoDB。
出乎意料地没有遇到任何问题,顺利进行下去了。

广告
将在 10 秒后关闭
bannerAds