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

shen100發表於2017-09-13

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

相關文章