在Heroku上部署MEAN
Heroku是国外普遍使用大受好评的PaaS,支持Nodejs,基础服务(Nodejs+MongoDB)基本都是免费的。搭建MEAN框架也不怎么费劲。名字是’Hero’和’taiku(俳句)‘的合体。我们先一起来读一读发音(her-OH-koo)好了。
准备工作 在github官网上下载GitHubSetup.exe,我们需要使用Git Bash进入到shell里头输入命令(与RSA公钥的有关)。
还有就是下载heroku toolbelt工具来使用heroku的一套命令了。
RSA密钥的配置 Heroku支持RSA和DSA密钥格式,我们在安装好GitHub Windows客户端后,在/Users/user/下右键点击.ssh(没有就新建一个),打开Git Bash。如图,输入
ssh-keygen -t rsa
,确认路径,无需理会passphrase确确认(因为我已经有id_rsa密钥所以多了个覆盖确定)。接着就是想公钥上传到Heroku了,这里使用
heroku keys:add
添加密钥,如果成功应该会出现下图。还有一些命令也许以后会用到,显示已有密钥
heroku keys
,移除已有密钥heroku keys:remove 密钥名(从上个命令可以得到)
,移除所有密钥heroku keys:clear
。最后我们只确定SSH是否能正常使用,输入命令
ssh -v [email protected]
,如果出现下图的Authenticated to heroku.com就可以用git来同步代码了。上传源码 在项目(最好没有.git文件夹)根目录添加一个能让Heroku识别应用入口的文件Procfile,里头输入
web: node server.js
。再右键点击空白,点击Git Bash进入Shell。输入
heroku login
输入你的用户名和密码。接下来就是创建应用和数据库heroku create appName heroku addons:add mongoLab
添加mongoDB的插件后还需要配置数据库信息。我们最好在mongolab新建一个用户来给应用使用,把项目的数据库配置修改为
mongodb://<dbuser>:<dbpassword>@ds051720.mongolab.com:51720/<dbname>
再用git同步代码(这里就会覆盖掉以前git的配置咯)
git init git add . git commit -m "some messages"
再就是创建数据库的插件
heroku addons:add mongolab
,最后使用命令git push heroku master
,如果出现下图的Launching… done,我们就打开链接试试。以后需要更新代码就按下列命令同步上去就可以了。
git commit -a -m "some new messages" git push heroku master
相关调试方法 当我们程序出错时,我们可以使用
heroku logs --tail
查看服务器的日志。一般来说,在本地能正常运行的app,放在平台上无法运行就应该是app配置方面的问题了。