使用heroku和mLab部署项目(Nodejs)

1.首先在官网上申请一个账号


heroku官网:https://www.heroku.com

2.安装Heroku Toolbelt


https://devcenter.heroku.com/articles/heroku-command-line

Heroku Toolbelt是用于创建、管理Herokuapps的命令行工具

查看是否安装成功:

$heroku --version
heroku-toolbelt/3.43.9 (x86_64-darwin10.8.0) ruby/1.9.3
heroku-cli/5.2.39-010a227 (darwin-amd64) go1.6.2

heroku 的命令行客户端将被安装到/usr/local/heroku
同时,/usr/local/heroku/bin将被添加到你的PATH环境变量。

下载并安装完成后,在shell 中输入heroku login,用创建heroku账号的email密码登陆。

$heroku login
Enter your Heroku credentials.
Email: admin@example.com
Password (typing will be hidden):
Logged in as leonardlt@outlook.com

把你的 SSH 公钥上传到 Heroku,这一点很重要,上传后才能使用 git push 命令。正常情况下,login 命令会自动创建并上传 SSH 公钥。


在继续之前,先保证你本地安装了node,npmgit,并且node版本大于4。

查看方式:

$node -v
v5.9.1
$npm -v
3.7.3
$git --version
git version 2.2.1

3.创建程序


首先要确保程序在 Git 源码控制系统中,然后在程序的顶级目录下运行创建命令.

$heroku create

当你创建了这个app,一个叫做herokuremote就与你本地的git repo关联了。你也可以把他提交的你自己的Github远程仓库。

默认 Heroku 会为你的 app生成一个随机的名字, 或者你可以登录heroku官网修改这个应用的名字。

这里写图片描述

现在,你可以向 Heroku 部署你的代码了

$git push heroku master

必须将本地的 master push 到herokumaster

现在,可以用创建的包含 app 名称的URL 访问 app. 有一个便捷的方法, 你可以像这样打开web站点:

$heroku open

4.用mLab配置数据库


mLab官网:https://mlab.com/

申请一个免费的数据库。

User一栏里建立一个用户,记下用户名和密码。

记下创建好的数据库的URL,如:

mongodb://<dbuser>:<dbpassword>@ds011111.mlab.com:11111/database-name

URL中的<dbuser><dbpassword>分别是刚才在Users里创建的usernamepassword

回到项目根目录下,输入:

$heroku config:set PROD_MONGODB=mongodb://<dbuser>:<dbpassword>@ds011111.mlab.com:11111/database-name

5.更改项目连接方式


项目中连接的数据库的URL是process.env.PROD_MONGODB。

比如我用的是mongoose,我连接数据库就是:

mongoose.connect(process.env.PROD_MONGODB)

server.js里监听端口的代码是:

app.listen(process.env.PORT)

再次部署代码:

$git add .

$git commit -m 'modify'

$git push heroku master

部署好后查看网页可以直接在命令行中输入

$heroku open

如果页面没有显示出来而是app报错了,可以输入以下代码查看错误

$heroku logs --tail

推荐阅读更多精彩内容