[開源]golang123 是使用 vue、nuxt、node.js 和 golang 開發的社群系統

shen100發表於2017-09-13

golang123 是一個開源的社群系統,介面優雅,功能豐富,小巧迅速。 已在golang 中文社群 得到應用,你完全可以用它來搭建自己的社群。

golang123 的技術架構是前後端分離的, 前端使用vueiviewnode.jsnuxt等技術來開發, 後端使用gogormiris等技術來開發。golang123 的技術選型也是超前的, 我們大膽得使用nuxt來做前後端同構渲染

> golang123 目前正處於活躍的開發中,預計十月初發布 Beta 版

社群首頁

<img src="https://user-images.githubusercontent.com/2443162/30106321-a234dc0c-932d-11e7-8f66-020975158dcd.jpeg" width="1000" alt=""/>

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^

<img src="https://user-images.githubusercontent.com/2443162/30115315-f3ef9392-934c-11e7-8b62-edeb998d864c.png" width="700" alt=""/>

License

GPL
Copyright (c) 2013-present, shen100

更多原創文章乾貨分享,請關注公眾號
  • [開源]golang123 是使用 vue、nuxt、node.js 和 golang 開發的社群系統
  • 加微信實戰群請加微信(註明:實戰群):gocnio

相關文章