很难找到一款开发效率高,易上手可以普遍推广,性能好(节省成本抗住大并发C10k), 部署简单(一键部署,无需配置任何环境)的Http项目开发框架。若是有,那么必定是用Go语言开发的吧!看到不少php的仁兄还没接触Go语言。想起以往用php框架像laravel开发,php-fpm部署运行,并发起来疯狂加机器的日子,眼泪就流下来。尽管后来有了swoole这种优秀的解决方案。Go的天生底层网络处理优点仍是独树一帜(请忘了它的语法)。因而,我向即将或已经遭受并发之苦,成本之痛,部署之心累的底层码农们推荐一门神奇的语言Go,以及一个优秀的Web开发框架Gin。Beego?听过不少吐槽,不敢轻易用。因为Gin很"简单",根据一些我的的开发习惯,整理了一个基于Gin新手入门项目开发骨架,欢迎下载一波感觉一下。如下正文:php
地址:https://github.com/chenhg5/mo...css
基于Gin的web项目开发框架。仅供参考。前端
更高的开发效率,
更好的性能,
更简单整洁的项目组织结构,
更快的部署。mysql
适合于小型项目,大中型项目(pv高、需求复杂度高)移步 kit、go-micro、kitenginx
使用安装器安装laravel
cd $GOPATH/src wget https://gitee.com/cg33/morningo-installer/raw/master/morningo-installer # mac wget https://gitee.com/cg33/morningo-installer/raw/master/morningo-installer-linus # linus wget https://gitee.com/cg33/morningo-installer/raw/master/morningo-installer.exe # windows chmod +x morningo-installer ./morningo-installer --project-name web
cd web make deps
make test
make restart
make
浏览器访问 http://localhost:4000/api/indexgit
生成可执行文件github
make build # linus用户 make cross # mac/windows用户
将build
下文件上传到生产环境服务器,并设置好日志文件路径以及静态文件路径,而后直接运行便可。如端口不为80端口或有多个域名,能够配置nginx代理,或者采用反向代理中间件gin-reverseproxy, 关于代理的使用,routers.go
中有示例。运行的同时会在文件夹下生成pid
文件,每次更新完文件后执行以下命令便可平滑热更。web
kill -INT $(cat pid) && ./morningo # 即中止旧的进程,重启新的执行文件
. ├── Makefile ├── README.md ├── command │ └── sword.go ├── config 全局配置 │ └── env.go ├── connections 存储链接 │ ├── database │ │ ├── mongodb │ │ └── mysql │ └── redis │ └── redis.go ├── controllers 控制器 │ └── MainController.go ├── filters 中间件 │ └── auth 认证中间件 │ ├── drivers 认证引擎 │ └── auth.go ├── frontend 前端资源 │ ├── assets │ │ ├── css │ │ ├── images │ │ └── js │ ├── dist │ └── templates │ └── index.tpl ├── handle.go 全局错误处理 ├── main.go ├── models 模型 │ └── User.go ├── module 项目模块 │ └── schedule │ └── schedule.go 定时任务模块 ├── routers.go 路由 ├── routers_test.go api测试 ├── storage │ ├── cache 缓存文件 │ └── logs 项目日志 │ ├── access.log │ └── error.log └── vendor govendor 第三方包