用 golang 写了一个个人站点-大家轻点喷

2020-03-21 17:14:58 +08:00
 ysz1121

Shalog

Shalog 是一个基于 Golang 开源的轻量级内容管理系统,告别 PHP 类的繁琐的部署方式,超底的资源占用率,并且支持图床功能当然也可以使用七牛作为存储方式,支持 Docker 、k8s 部署。

项目设计

支持内容自定义,支持模版自定义,支持图床功能,支持 Mweb,Metaweblog API 。

内容展示

项目开源地址:https://github.com/icowan/shalog

管理后台前端

开源地址: https://github.com/icowan/blog-view

使用 ReaceJS 作为管理后台的前端展示,如下图:

演示 Demo

演示地址: https://shalog.nsini.com

演示管理后台地址: https://shalog.nsini.com/admin/

用户名: shalog

密码: admin

安装说明

平台后端基于go-kit、前端基于 umijsant-design框架进行开发。

后端所使用到的依赖全部都在go.mod里,前端的依赖在package.json,详情的请看yarn.lock,感谢开源社区的贡献。

后端代码: https://github.com/icowan/shalog

前端代码: https://github.com/icowan/shalog-view

快速开始

配置文件准备, app.cfg以下为参考:

[server]
app_name = shalog
app_key = R*9N*Q#ROFJI
debug = false # 是否启用调试模式
log_level = error # warning error info debug
logs_path = /var/log/shalog.log
session_timeout = 14400 # 管理后台登录 token 失效时间

[mysql]
host = mysql # 数据库地址
port = 3306 # 数据库端口
user = root
password = admin
database = shalog

[cors]
allow = false # 是否支持跨域
origin = http://localhost:8000
methods = GET,POST,OPTIONS,PUT,DELETE
headers = Origin,Content-Type,Authorization,mode,cors,x-requested-with,Access-Control-Allow-Origin,Access-Control-Allow-Credentials

docker-compose 启动

在您的电脑上安装 docker-compose 命令,请参考: https://docs.docker.com/compose/install/

创建 docker-compose.yaml 文件:

version: '3'
services:
  mysql:
    image: mysql:5.7.29
    environment:
      MYSQL_ROOT_PASSWORD: "admin"
      MYSQL_DATABASE: "shalog"
    command: [
      '--character-set-server=utf8mb4',
      '--collation-server=utf8mb4_unicode_ci',
    ]
    expose:
      - "3306"
    ports:
      - "3306:3306"
  shalog:
    image: dudulu/shalog:latest
    command: /go/bin/shalog start -p :8080 -c /etc/shalog/app.cfg
    environment:
      GOPATH: "/go"
      USERNAME: "shalog"
      PASSWORD: "admin"
      SQL_PATH: ./database/db.sql
    volumes:
      - ./app.cfg:/etc/shalog/app.cfg
    depends_on:
      - mysql
    restart: always
    ports:
      - "8080:8080"

将上面准备好的 app.cfg 放到当前目录,然后执行以下命令:

$ docker-compose start

浏览器输入: http://localhost:8080 访问

本地启动

修改 app.cfg 文件,将 mysql 地址配置为您自己的数据库地址。

克隆代码,及本地启动

$ git clone github.com/icowan/shalog.git
$ cd shalog/
$ make run

浏览器输入: http://localhost:8080 访问

文档

支持我

4263 次点击
所在节点    Go 编程语言
24 条回复
misaka19000
2020-03-21 17:27:37 +08:00
为什么要轻喷?
misaka19000
2020-03-21 17:27:50 +08:00
感觉挺好的啊
songjiaxin2008
2020-03-21 17:33:51 +08:00
不错 支持
manami
2020-03-21 17:40:38 +08:00
挺好的
minglanyu
2020-03-21 17:41:49 +08:00
没钱,精神上支持(狗头
sayakafs
2020-03-21 17:44:15 +08:00
写的很好,不过下一秒改改就是我的了[狗头]
missdeer
2020-03-21 17:46:51 +08:00
下一秒改改就是我的了[狗头]
xfxly
2020-03-21 17:49:23 +08:00
下一秒改改就是我的了[狗头]
donnior
2020-03-21 17:58:16 +08:00
楼主,演示站太慢了,进不去
alpha2016
2020-03-21 18:01:03 +08:00
相当 NB 了
python30
2020-03-21 18:24:50 +08:00
不错啊。mark 一下。抽空看看
ysz1121
2020-03-21 18:28:09 +08:00
哈哈谢谢〜
ysz1121
2020-03-21 18:28:35 +08:00
后台会有点慢,加载的前端资源比较大
ysz1121
2020-03-21 18:31:11 +08:00
有空欢迎留下友链
hxroyal
2020-03-21 18:36:31 +08:00
一个人撸了多久?看似功能很全面啊
ysz1121
2020-03-21 18:57:34 +08:00
@hxroyal 断断续续一个月吧
52coder
2020-03-22 00:22:04 +08:00
下一秒改改就是我的了[狗头]
hjsbs
2020-03-22 08:36:47 +08:00
告别 PHP 类的繁琐的部署方式??? 明明是你这个更繁琐 php 网站都不用部署的直接扔进云虚拟主机
darknoll
2020-03-22 08:53:57 +08:00
前端代码在哪呢
ysz1121
2020-03-22 09:52:49 +08:00

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

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

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

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

© 2021 V2EX