用 golang 写了一个个人站点-大家轻点喷 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
ysz1121
V2EX    Go 编程语言

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

  •  3
     
  •   ysz1121 2020-03-21 17:14:58 +08:00 4630 次点击
    这是一个创建于 2031 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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  
       2020-03-21 17:27:37 +08:00
    为什么要轻喷?
    misaka19000
        2
    misaka19000  
       2020-03-21 17:27:50 +08:00
    感觉挺好的啊
    songjiaxin2008
        3
    songjiaxin2008  
       2020-03-21 17:33:51 +08:00
    不错 支持
    manami
        4
    manami  
       2020-03-21 17:40:38 +08:00
    挺好的
    minglanyu
        5
    minglanyu  
       2020-03-21 17:41:49 +08:00
    没钱,精神上支持(狗头
    sayakafs
        6
    sayakafs  
       2020-03-21 17:44:15 +08:00 via iPhone
    写的很好,不过下一秒改改就是我的了[狗头]
    missdeer
        7
    missdeer  
       2020-03-21 17:46:51 +08:00
    下一秒改改就是我的了[狗头]
    xfxly
        8
    xfxly  
       2020-03-21 17:49:23 +08:00
    下一秒改改就是我的了[狗头]
    donnior
        9
    donnior  
       2020-03-21 17:58:16 +08:00
    楼主,演示站太慢了,进不去
    alpha2016
        10
    alpha2016  
       2020-03-21 18:01:03 +08:00
    相当 NB 了
    python30
        11
    python30  
       2020-03-21 18:24:50 +08:00
    不错啊。mark 一下。抽空看看
    ysz1121
        12
    ysz1121  
    OP
       2020-03-21 18:28:09 +08:00
    哈哈谢谢
    ysz1121
        13
    ysz1121  
    OP
       2020-03-21 18:28:35 +08:00
    后台会有点慢,加载的前端资源比较大
    ysz1121
        14
    ysz1121  
    OP
       2020-03-21 18:31:11 +08:00
    有空欢迎留下友链
    hxroyal
        15
    hxroyal  
       2020-03-21 18:36:31 +08:00 via Android
    一个人撸了多久?看似功能很全面啊
    ysz1121
        16
    ysz1121  
    OP
       2020-03-21 18:57:34 +08:00
    @hxroyal 断断续续一个月吧
    52coder
        17
    52coder  
       2020-03-22 00:22:04 +08:00
    下一秒改改就是我的了[狗头]
    hjsbs
        18
    hjsbs  
       2020-03-22 08:36:47 +08:00
    告别 PHP 类的繁琐的部署方式??? 明明是你这个更繁琐 php 网站都不用部署的直接扔进云虚拟主机
    darknoll
        19
    darknoll  
       2020-03-22 08:53:57 +08:00 via Android
    前端代码在哪呢
    ysz1121
        20
    ysz1121  
    OP
       2020-03-22 09:52:49 +08:00
    ysz1121
        21
    ysz1121  
    OP
       2020-03-22 09:53:59 +08:00
    @hjsbs 嗯,这个可以直接 make run 或 docker-compose start 或者直接编译成二进制丢上去 环境都不需要
    hugee
        22
    hugee  
       2020-03-22 12:24:30 +08:00
    我这种只会简单用 wp 的家伙投来崇拜的目光
    iliul
        23
    iliul  
       2020-04-02 15:31:26 +08:00
    手动点赞
    brzhang
        24
    brzhang  
       2020-04-02 20:58:30 +08:00 via iPhone
    下一秒就是我用 flutter 撸了一个,求轻喷
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     935 人在线   最高记录 6679     a href="/select/language" class="f11">   Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 18:46 PVG 02:46 LAX 11:46 JFK 14:46
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86