首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
beego
OPPO Watch
ysz1121
V2EX  ›  Go

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

  •  3
     
  •   ysz1121 · 65 天前 · 2664 次点击
    这是一个创建于 65 天前的主题,其中的信息可能已经有所发展或是发生改变。

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