Pugo博客已经搭建了好几个月了吧,给我感受到非常方便的就是,我换了好多VPS,迁移显得非常的方便,但是也有不足的地方,比如发布一篇新的博客,我每次都需要重新进入后台进行新的Post,还需要重新build我的博客,这样才能将博客发布出去,和那些经典的带有后台管理的博客相比就有点不太舒服,后来找了一些资料,查了一些开源项目。在github里面发现了一个叫做filemanage的工具,现在已经改名叫File Browser了,现在用这个工具做博客的后台,感觉还不错,下面记录下我是如何从头开始搭建我的博客系统的。


1、准备工具

  1. Pugo 软件包:

    https://github.com/go-xiaohei/pugo

  2. FileBrowser:

    https://github.com/filebrowser/filebrowser

  3. Winscp

    http://www.good-memory.top/2018/4/27/blog.html


2、搭建Pugo博客

从gitHub下面下载软件包之后,我们解压,将软件包上传VPS,或者可以在本地先搭建试试看也可以。

PS:注意不同的平台,文件不一样。

下载解压之后,进入文件所在目录运行下面指令

pugo.exe new site # Windows
./pugo new site # Linux

此时在pugo的目录下面生成了好多个文件夹,下面我们运行下面的命令。

pugo server --addr "0.0.0.0:8080"

运行完成之后可以看到下面的一些消息:

C:\Users\zhang\Desktop\windows_amd64>pugo_windows_amd64.exe server --addr "0.0.0.0:8080"
[32mINFO[0m|08-25 18:00:32.4916|Build|Start
[32mINFO[0m|08-25 18:00:32.5255|Build|Source|source
[32mINFO[0m|08-25 18:00:32.6123|Build|Theme|theme/default
[32mINFO[0m|08-25 18:00:33.2057|Build|40 Pages
[32mINFO[0m|08-25 18:00:33.2057|Build|Done|1|714.1ms
[32mINFO[0m|08-25 18:00:33.2067|Watch|Start
[32mINFO[0m|08-25 18:00:33.2067|Server|Start|0.0.0.0:8080

此时我们的博客已经运行起来了,通过浏览器访问localhost:8080就可以看到博客的运行界面。

我们想要Post一篇文章只要如下所示就好了

pogo new post [name]

此时在我们的Source-> Post->2018下面会生成一个.md结尾的文本,使用Winscp或者其他的Sftp工具可以登录ssh在Linux服务器上面编写遵循markdown语法的文章就好了。


3、给Pugo加上后台---File Browser

通过Winscp将我们下载好的File Browser 上传到我们的VPS,在File Browser 下面新建一个config.json文本文档,内容如下所示:

{
"port": 8000,
"noAuth": false,
"baseURL": "/admin",
"address": "0.0.0.0",
"reCaptchaKey": "",
"reCaptchaSecret": "",
"database":"/myserver/blog/filemanager/filebrowser.db",
"log": "stdout",
"plugin": "http.filemanager",
"scope":"/myserver/blog/filemanager/myblog",
"allowCommands": true,
"allowEdit": true,
"allowNew": true,
"commands": [
"git",
"svn",
"./myblog/flush.sh",
"./myblog/new.sh"
]
}
Port :访问的端口号
baseURL:要访问的地址,如上面所写,就访问"http://127.0.0.1:8000/admin"
address:监听的地址,四个0表示监听所有网卡。
datebase:数据库所在目录,通常设置和fileBrowser一个目录
command:允许执行的shell命令。
"scope":管理的目录

主要修改的如上所示,其他的默认就好,将pugo整个拷贝到scope 管理的目录下面。

运行如下:

./fileBrowser -c "config.json"

浏览器打开"localhost:8000/admin"输入admin,admin登录系统,分配账号在pugo所在的目录新建一个shell脚本,内容如下:

#!/bin/bash
cd /myserver/blog/filemanager/myblog/
./pugo_linux_amd64 build --source "source"
cd /

保存取名"flush.sh",然后在设置->全局设置->命令(Linux 代码)->After Save 下面输入运行flush.sh的命令,如下所示:

./myblog/flush.sh

此时我们在上传完成我们的博客,或者修改完成之后,保存就可以自动刷新了,再也不用的登录ssh去修改博客了。

重新打造的我的Pugo的更多相关文章

  1. 标准产品+定制开发:专注打造企业OA、智慧政务云平台——山东森普软件,交付率最高的技术型软件公司

    一.公司简介山东森普信息技术有限公司(以下简称森普软件)是一家专门致力于移动互联网产品.企业管理软件定制开发的技术型企业.公司总部设在全国五大软件园之一的济南齐鲁软件园.森普SimPro是由Simpl ...

  2. Android ViewPager打造3D画廊

    本文已授权微信公众号:鸿洋(hongyangAndroid)在微信公众号平台原创首发. 网上有很多关于使用Gallery来打造3D画廊的博客,但是在关于Gallery的官方说法中表明: This cl ...

  3. [.NET] 打造一个很简单的文档转换器 - 使用组件 Spire.Office

    打造一个很简单的文档转换器 - 使用组件 Spire.Office [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6024827.html 序 之前,& ...

  4. 【转】 FineBI:自助式BI工具打造业务分析的“快与准”

    如今的企业经营方式,业务对于数据分析有极大的需求,但却苦于没有数据以及工具的有效支持,业务分析仍就依赖于IT报表制作.而IT方不断地按业务需求去调研.确认业务逻辑,然后取数做报表,其中还要忍受业务的需 ...

  5. 打造TypeScript的Visual Studio Code开发环境

    打造TypeScript的Visual Studio Code开发环境 本文转自:https://zhuanlan.zhihu.com/p/21611724 作者: 2gua TypeScript是由 ...

  6. 吐血大奉献,打造cnblogs最新最火辣的css3模板(IE9以下请勿入内) -- 第一版

    一直自己都想给自己的博客打造一个独一无二的皮肤,但是一直没有强劲的动力去完成这件事情.后来凭借着工作上面的需求(涉及到css3),就把自己的博客当成一个最好的试验场地.从而产生了你现在所看到的这个模板 ...

  7. [.Net] 手把手带你将自己打造的类库丢到 NuGet 上

    手把手带你将自己打造的类库丢到 NuGet 上 序 我们习惯了对项目右键点击“引用”,选择“管理NuGet 程序包”来下载第三方的类库,可曾想过有一天将自己的打造的类库放到 NuGet 上,让第三者下 ...

  8. 快速打造跨平台开发环境 vagrant + virtualbox + box

    工欲善其事必先利其器,开发环境 和 开发工具 就是 我们开发人员的剑,所以我们需要一个快并且好用的剑 刚开始做开发的时候的都是把开发环境 配置在 自己的电脑上,随着后面我们接触的东西越来越多,慢慢的电 ...

  9. 打造android偷懒神器———ListView的万能适配器

    如果你去做任何一个项目,我相信你都会跟我有一样的经历,最最普遍的就是列表显示ListView,当然,写N个自定义的适配器也是情理之中.虽说程序员本身就是搬砖,做这些枯燥无味的重复的事情也是理所当然,但 ...

随机推荐

  1. Oracle 和 MySQL的区别(不完整)

    1. Oracle对单双引号要求的很死,一般不准用双引号,不然会报错.MySQL 单双引号都可以. 2. 事务提交方式:Oracle 默认手动提交,MySQL 默认自动提交. 3. 分页:MySQL有 ...

  2. [Python] numpy.Matrix

    import numpy as np np.matrix('1, 2; 3, 4') #1, 2 #3, 4 np.matrix([[1,2],[3,4]]) #1, 2 #3, 4

  3. C++指针的长度

    每台计算机都有字长,指明指针数据的标称大小----来自深入理解计算机系统 每台计算机的字长指明了它的虚拟空间大小.比如32位的机器,虚拟空间地址为0~2^w-1程序最多访问2^w个字节 对于32位程序 ...

  4. OpenCL 事件的使用,以及回调函数

    ▶ 事件的两种使用方法.第一种是用事件 a 标记进入命令队列的操作 A,于是后续进入命令队列的操作 B 可以被要求等到前面事件 a 完成(即操作 A 完成)以后才能开始调度执行.第二种是使用用户自定义 ...

  5. VB.Net条形码编程的方法

    一.条形码的读取用过键盘口式的扫条码工具的朋友就知道,它就如同在鍵盘上按下数字鍵一样,基本不需任何编程和处理.但如果你使用的是其它接口的话,可能你就要为该设备编写通讯代码了.以下有一段简单的25针串口 ...

  6. MySQL GTID (三)

    五.如何跳过一个GTID 环境见系列一 5.1 创建表,模拟数据 #主机上 create table t_test (id int primary key ,name varchar(10)); in ...

  7. 为阿里云ECS服务器二级域名绑定tomcat子目录,实现一个IP多个二级域名

    摘要:前几天租了阿里云ECS服务器,选择的Windows系统,并在服务器上部署了tomcat服务器,随后我又买了一个域名,可一个域名只能指向一个IP地址,包括二级域名也只能指向一个IP地址,并不能指向 ...

  8. bloom

    bloom bloom也能实现和HDR类似的效果,但bloom的是静态的,HDR是动态渐变的, bloom在细节表现.明暗对比不如HDR,但实现HDR效果的系统资源开销也比 bloom大,bloom也 ...

  9. asp.net页如何获取母版页控件

    获取母版页的相关内容有两种方法 1 通过findcontrol找控件ID需要在此事件中~因为Page_load中时是先内容页加载然后才是母版页加载 protected void Page_LoadCo ...

  10. Linux查看用户及分组

    cat /etc/group文件包含所有组cat /etc/shadow和cat /etc/passwd系统存在的所有用户名 usermod 或者修改 /etc/passwd文件即可修改当前用户所属组 ...