【Go web开发之revel+mgo】第11章 部署到heroku上
演示地址 http://gblog-revel.herokuapp.com/
1.申请mongohq
session, err := mgo.Dial("mongodb://omind:jov.omind@widmore.mongohq.com:10000/ominds")
对,这个就是我们在mongohq申请的免费的db服务,很好用(虽然响应优点慢)。这是mongohq的注册地址:https://bridge.mongohq.com/signup (这个网站很卡,大家要有耐心的去使用它,你们懂的,墙什么的。。。)
首先,我们需要给数据库添加一个用户。点击红色框中的 Admin ,然后点击 Users 进入用户管理页面。在 username 和 password 处分别填写用户名和密码:
db.addUser('omind','jov.omind')
点击 Add user 添加用户。
2.申请heroku
注意:假如你的电脑上已经安装了 Git ,那么在安装的时候选择 Custom Installation 并去掉安装 Git 的选项,否则选择 Full Installation 。
安装成功后,打开 Git Bash ,输入 heroku login ,然后输入在 Heroku 注册的帐号和密码进行登录。Git 会检测是否有 SSH 密钥,如果有,则使用此密钥并上传,如果没有,则创建一个密钥并上传。(你也可以使用heroku keys命令查看有没有keys,如果没有,可以使用heroku add:keys添加keys)
在项目的根目录下,新建.godir文件,比如我的GBlog/.godir 添加内容:
GBlog
对,就是你的项目名称。
git init git add .godir * git commit -m "create app" heroku create -b https://github.com/robfig/heroku-buildpack-go-revel.git git push heroku master heroku open
没错,以上命令是让我们在herokuapp上部署了一个应用,关于其中的buildpack可以参考这里:https://github.com/robfig/heroku-buildpack-go-revel (话说这个builpack有很多版本的,最后只有这个大哥做的可以正常使用,大哥。。。。类牛满面啊)
{{if .recentCnt}} {{if gt .recentCnt 0}} <span class="navbar-news " title="最近1小时有{{.recentCnt}}个更新">{{.recentCnt}}</span> {{end}} {{end}}
其中if gt 是revel自带的模板方法,你妹啊,我也是以为你自带的的东西,肯定会打包编译进去把,没想到啊,这个原因整整浪费了我一天时间(按照代码一段一段去排查的,根本没想到header会有问题),那么怎么解决呢,自己加就行了呗。
revel.TemplateFuncs["gt"] = func(a, b int) bool { return a>b }
好 ,我们在次提交:
git add . git commit -m "update" git push heroku master
这次再打开看看,终于好了啊。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。