[开源]golang123 是使用 vue、nuxt、node.js 和 golang 开发的社区系统

golang123 是一个开源的社区系统,界面优雅,功能丰富,小巧迅速。 已在golang中文社区 得到应用,你完全可以用它来搭建自己的社区。

golang123的技术架构是前后端分离的, 前端使用vueiviewnode.jsnuxt等技术来开发, 后端使用gogormiris等技术来开发。golang123的技术选型也是超前的, 我们大胆得使用nuxt来做前后端同构渲染

golang123目前正处于活跃的开发中,预计十月初发布Beta版

社区首页

Golang123线上机器配置

CPU 1核
内存 512 MB
带宽 1Mbps

安装

依赖的软件

软件 版本
node.js 8.4.0 (及以上)
golang 1.9 (及以上)
mysql 5.6.35 (及以上)
redis 4.0.1 (及以上)

克隆代码

golang123的代码克隆到gopath的src目录下,即your/gopath/src/golang123

前端依赖的模块

进入golang123/website目录,输入命令

npm install

如果安装失败,或速度慢,可尝试阿里的镜像

npm install --registry=https://registry.npm.taobao.org

后端依赖的库

//iris web框架
go get -u github.com/kataras/iris

//gorm 持久层框架
go get -u github.com/jinzhu/gorm

//redis客户端工具
go get github.com/garyburd/redigo/redis

//uuid生成工具
go get github.com/satori/go.uuid

//防XSS攻击
go get -u github.com/microcosm-cc/bluemonday

//markdown解析器
go get github.com/russross/blackfriday

配置

hosts

127.0.0.1 dev.golang123.com

nginx

  1. golang123/nginx/dev.golang123.com.example.conf文件改名为dev.golang123.com.conf,然后拷贝到nginx的虚拟主机目录下
  2. golang123/nginx/server.keygolang123/nginx/server.crt拷贝到某个目录下
  3. 打开nginx的虚拟主机目录下的dev.golang123.com.conf文件,然后修改访问日志和错误日志的路径,即修改access_log和error_log。
  4. 修改证书路径为server.key和server.crt所在的路径,即修改ssl_certificate和ssl_certificate_key

请参考如下配置中请修改标记的地方:

server {
    listen 80;
    server_name dev.golang123.com;

    access_log /path/logs/golang123.access.log; #请修改
    error_log /path/logs/golang123.error.log;   #请修改

    rewrite ^(.*) https://$server_name$1 permanent;
}

server {
    listen       443;
    server_name dev.golang123.com;

    access_log /path/logs/golang123.access.log; #请修改
    error_log /path/logs/golang123.error.log;   #请修改

    ssl on;
    ssl_certificate /path/cert/golang123/server.crt;     #请修改
    ssl_certificate_key /path/cert/golang123/server.key; #请修改

    ...

}

前端配置

golang123/website/config/index.example.js文件重命名为index.js

后端配置

golang123/config.example.json文件重命名为config.json,然后修改以下配置:

  1. 修改mysql连接地址及端口
  2. 修改mysql的用户名及密码
  3. 修改redis的连接地址及端口
  4. 修改域名邮箱的用户名及密码(golang123使用的是QQ域名邮箱)

运行

运行前端项目

进入golang123/website目录,然后运行

npm run dev

运行后端项目

进入golang123目录,然后运行

go run main.go

访问

浏览器中访问 https://dev.golang123.com/

问题

有任何问题或建议都欢迎提 issue

技术交流

QQ群: 32550512
QQ群中的消息很可能还没被看到,就被后来的消息给冲掉,有问题还是建议大家开issue

赞助

如果你觉得golang123这个项目还不错的话,可以通过扫描下面的二维码来赞助我, 金额任意,无上限 ^v^

License

GPL
Copyright (c) 2013-present, shen100

5 个评论

为什么 这几个脚本被引用了两次:
"/_nuxt/manifest.7aa81939789e1f08bce4.js"
"/_nuxt/vendor.bundle.e831a9e1401d6c4280db.js"
"/_nuxt/nuxt.bundle.f4f382c99bc3acbed512.js"
确实隔行如隔山呀:
<详解HTML5中rel属性的prefetch预加载功能使用>
http://www.cnblogs.com/suyuwen1/p/5506397.html
支持go开源产品,不过感觉又是清一色的V2功能模板复制,能不能来点创新的,比如segmentfault,比如xiaozhuanlan,这些社区模式才符合时代潮流的发展啊。
@hahaha 好主意,谢谢建议
这对搜索引擎的收录太不友好了吧!

要回复文章请先登录注册