1.首先在官网上申请一个账号
heroku官网:https://www.heroku.com
2.安装Heroku Toolbelt
https://devcenter.heroku.com/articles/heroku-command-line
Heroku Toolbelt
是用于创建、管理Heroku
上apps
的命令行工具
查看是否安装成功:
$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
,npm
和git
,并且node
版本大于4。
查看方式:
$node -v
v5.9.1
$npm -v
3.7.3
$git --version
git version 2.2.1
3.创建程序
首先要确保程序在 Git 源码控制系统中,然后在程序的顶级目录下运行创建命令.
$heroku create
当你创建了这个app
,一个叫做heroku
的remote
就与你本地的git repo
关联了。你也可以把他提交的你自己的Github
远程仓库。
默认 Heroku
会为你的 app
生成一个随机的名字, 或者你可以登录heroku
官网修改这个应用的名字。
现在,你可以向 Heroku
部署你的代码了
$git push heroku master
必须将本地的
master
push 到heroku
的master
现在,可以用创建的包含 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里创建的username
和password
。
回到项目根目录下,输入:
$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