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

2017-10-19 09:45:50 +08:00
 shen100

网址: https://www.golang123.com/
Github: https://github.com/shen100/golang123

Golang123

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

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

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

💎 社区首页

🖥 Golang123 线上机器配置

| CPU | 1 核 |
|:---------|:-------:| | 内存 | 1GB | | 带宽 | 1Mbps |

🚀 安装

依赖的软件

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

克隆代码

golang123的代码克隆到 gopath 的 src/github.com/shen100 目录下,即your/gopath/src/github.com/shen100/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这个项目还不错的话,可以通过扫描下面的二维码来赞助我, 金额任意,无上限😃

License

GPL
Copyright (c) 2013-present, shen100

1297 次点击
所在节点    Go 编程语言
8 条回复
pony279
2017-10-19 10:10:33 +08:00
应该避免使用有 license 问题的 iris

https://github.com/avelino/awesome-go/pull/1135
EricJia
2017-10-19 10:34:24 +08:00
哈哈哈哈哈 这不是隔壁的 https://cnodejs.org/
CreSim
2017-10-19 11:45:32 +08:00
说的很明白,支持一下。
Nitroethane
2017-10-19 11:48:47 +08:00
貌似没有对移动设备做适配?
xwhxbg
2017-10-19 18:23:05 +08:00
没看懂 golang 在这干嘛。。。核心不是 node club 那一套么?
shen100
2017-12-19 14:02:30 +08:00
@Nitroethane 移动端是另一套,还没上线
shen100
2017-12-19 14:05:10 +08:00
@xwhxbg 只是样式借鉴了 node club,后台是 golang 写的
xwhxbg
2017-12-19 15:34:57 +08:00
恕我直言,用了 orm 搞这一套基本上后端没啥工作了。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/398830

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX