/golang123

golang123 是使用 vue、nuxt、node.js 和 golang 开发的知识分享系统

Primary LanguageGoGNU General Public License v2.0GPL-2.0

Golang123

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

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

很多同学反馈技术栈过多,环境搭建过于复杂,golang123计划使用nest.js来重构,最终前后端都使用node.js来开发。

💎系统截图

社区首页

在线图书

个人主页

监控

🚀 安装

依赖的软件

软件 版本
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

后端依赖的库

golang123使用dep来管理依赖的包,请先安装dep, 执行以下命令即完成安装

go get -u github.com/golang/dep/cmd/dep

然后,在 golang123 项目目录下运行以下命令来安装依赖

dep ensure

⚙️ 配置

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域名邮箱)
  5. golang123/sql/golang123.sql导入到你自己的数据库中

🚕 运行

运行前端项目

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

npm run dev

运行后端项目

进入golang123目录,然后运行

go run main.go

访问

首页: https://dev.golang123.com
管理后台: https://dev.golang123.com/admin
用户名: golang123
密码: 123456 (登陆后请修改密码)

👥技术交流

遇到问题, 请在Golang中文社区 网站上创建话题,然后选择 提问 版块,也可以在Github上开issue。

💰 支持

支持golang123最简单的方式就是点一下网站上面的广告啦, 立即点击😃

License

GPL
Copyright (c) 2013-present, shen100