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

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

  •  3
     
  •   ysz1121 · Mar 21, 2020 · 4964 views
    This topic created in 2265 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、前端基于 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 访问

    本地启动

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