V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
shen100
V2EX  ›  Go 编程语言

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

  •  
  •   shen100 · 2017-10-19 09:45:50 +08:00 · 1318 次点击
    这是一个创建于 2598 天前的主题,其中的信息可能已经有所发展或是发生改变。

    网址: 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

    8 条回复    2017-12-19 15:34:57 +08:00
    pony279
        1
    pony279  
       2017-10-19 10:10:33 +08:00
    应该避免使用有 license 问题的 iris

    https://github.com/avelino/awesome-go/pull/1135
    EricJia
        2
    EricJia  
       2017-10-19 10:34:24 +08:00
    哈哈哈哈哈 这不是隔壁的 https://cnodejs.org/
    CreSim
        3
    CreSim  
       2017-10-19 11:45:32 +08:00 via Android
    说的很明白,支持一下。
    Nitroethane
        4
    Nitroethane  
       2017-10-19 11:48:47 +08:00 via Android
    貌似没有对移动设备做适配?
    xwhxbg
        5
    xwhxbg  
       2017-10-19 18:23:05 +08:00
    没看懂 golang 在这干嘛。。。核心不是 node club 那一套么?
    shen100
        6
    shen100  
    OP
       2017-12-19 14:02:30 +08:00
    @Nitroethane 移动端是另一套,还没上线
    shen100
        7
    shen100  
    OP
       2017-12-19 14:05:10 +08:00
    @xwhxbg 只是样式借鉴了 node club,后台是 golang 写的
    xwhxbg
        8
    xwhxbg  
       2017-12-19 15:34:57 +08:00
    恕我直言,用了 orm 搞这一套基本上后端没啥工作了。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5153 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 09:43 · PVG 17:43 · LAX 01:43 · JFK 04:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.