如何将项目部署到heroku并使用malb数据库
前一段时间参加了TW的思特沃克学院培训营,在此期间也做了一个小项目。现在就在想如何将我的项目发布到网上去,让大家都可以来访问呢,经过请教老师与同学,我最后总决定使用使用了heroku与mlab来完成我的需求。由于我的项目是使用nodejs来完成的,所以这里就以nodejs为例。
Heroku
Heroku是一个Cloud Application Platform(云应用平台),它是一个免费的平台,我们可以将自己的项目push到heroku上边,然后通过某一链接,就可以访问我们的项目了。
Heroku网站:https://dashboard.heroku.com/
第一步:
访问heroku官网,申请注册账户
第二步:
根据自己的需求选择不同的安装方式,链接:https://devcenter.heroku.com/start
我自己选择的ubuntu系统下的客户端,命令行执行下边的代码:
wget -O- https://toolbelt.heroku.com/install-ubuntu.sh | sh
heroku login
输入自己的用户名与密码
第三步:
cd到自己的项目下边,执行heroku create,然后执行git push heroku master,继续执行heroku open,如果项目部署正确,你就会在浏览器里边看到自己的项目运行之后的效果,如果部署有问题,浏览器将会报错。这时你就要去执行heroku logs –tail,仔细阅读日志,查看错误问题,一个一个去解决。
所以我认为在每一次push之后,先执行heroku logs –tail,发现没有问题再去open,这样效率应该高一些。
Mlab
Mlab是一个网上的数据库,它提供给大家一个免费的500M的mongodb数据库供大家使用。如果你的项目需要用到数据库,那么来这边申请一个,是不错的!
Mlab官网:https://mlab.com/
第一步
注册
第二步
创建数据库:
使用免费数据库:
输入数据库名称:
这样你就可以在mlab的home页面看到刚才创建好的数据库,点击进入数据库,添加数据库中的表,如下图:
设置访问数据库的用户名与密码
用户名密码一定要记住!!!后边还要用到。
当这些工作做好之后,你的数据库就已经申请好了,现在就将数据库与项目相连。
Heroku项目链接数据库
cd进入自己的heroku项目中,然后命令行执行:
heroku config:set PROD_MONGODB=****
****在mlab数据库的上边就有,如图:
当这行命令执行完毕之后,你的项目就已经和mlab数据库连接起来了,但是还没完!
你还需要修改代码里边的一些内容,如数据库的连接(connect),监听的端口(listen)等都
需要做一些修改,
修改示例
if (require.main === module) {
app.listen(process.env.PORT||3000, function () {
db.connect((err) => {
if (err) return console.error('db connection failed');
console.log('Listening on 3000');
});
});
}
let url = process.env.PROD_MONGODB || 'mongodb://localhost/****';