The Go Programming Language
› http://golang.org/
› Go Playground
Go Projects
› Revel Web Framework
ysz1121

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

  •  3
     
  •   ysz1121 · Mar 21, 2020 · 5487 views
    This topic created in 2424 days ago, the information mentioned may be changed or developed.

    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、前端基于 umijs 和 ant-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 访问

    本地启动

    • Golang 1.13+ 安装手册
    • MySQL 5.7+ (大多数据都存在 mysql)

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

    克隆代码,及本地启动

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

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

    文档

    支持我

    24 replies  •  2020-04-02 20:58:30 +08:00
    misaka19000
    misaka19000
    Mar 21, 2020
    1
    为什么要轻喷?
    misaka19000
    misaka19000
    Mar 21, 2020
    2
    感觉挺好的啊
    songjiaxin2008
    songjiaxin2008
    Mar 21, 2020
    3
    不错 支持
    manami
    manami
    Mar 21, 2020
    4
    挺好的
    minglanyu
    minglanyu
    Mar 21, 2020
    5
    没钱,精神上支持(狗头
    sayakafs
    sayakafs
    Mar 21, 2020 via iPhone
    6
    写的很好,不过下一秒改改就是我的了[狗头]
    missdeer
    missdeer
    Mar 21, 2020
    7
    下一秒改改就是我的了[狗头]
    xfxly
    xfxly
    Mar 21, 2020
    8
    下一秒改改就是我的了[狗头]
    donnior
    donnior
    Mar 21, 2020
    9
    楼主,演示站太慢了,进不去
    alpha2016
    alpha2016
    Mar 21, 2020
    10
    相当 NB 了
    python30
    python30
    Mar 21, 2020
    11
    不错啊。mark 一下。抽空看看
    ysz1121
    ysz1121
    OP
    Mar 21, 2020
    12
    哈哈谢谢〜
    ysz1121
    ysz1121
    OP
    Mar 21, 2020
    13
    后台会有点慢,加载的前端资源比较大
    ysz1121
    ysz1121
    OP
    Mar 21, 2020
    14
    有空欢迎留下友链
    hxroyal
    hxroyal
    Mar 21, 2020 via Android
    15
    一个人撸了多久?看似功能很全面啊
    ysz1121
    ysz1121
    OP
    Mar 21, 2020
    16
    @hxroyal 断断续续一个月吧
    52coder
    52coder
    Mar 22, 2020
    17
    下一秒改改就是我的了[狗头]
    hjsbs
    hjsbs
    Mar 22, 2020
    18
    告别 PHP 类的繁琐的部署方式??? 明明是你这个更繁琐 php 网站都不用部署的直接扔进云虚拟主机
    darknoll
    darknoll
    Mar 22, 2020 via Android
    19
    前端代码在哪呢
    ysz1121
    ysz1121
    OP
    Mar 22, 2020
    21
    @hjsbs 嗯,这个可以直接 make run 或 docker-compose start 或者直接编译成二进制丢上去 环境都不需要
    hugee
    hugee
    Mar 22, 2020
    22
    我这种只会简单用 wp 的家伙投来崇拜的目光
    iliul
    iliul
    Apr 2, 2020
    23
    手动点赞
    brzhang
    brzhang
    Apr 2, 2020 via iPhone
    24
    下一秒就是我用 flutter 撸了一个,求轻喷
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2456 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 62ms · UTC 11:48 · PVG 19:48 · LAX 03:48 · JFK 06:48
    ♥ Do have faith in what you're doing.