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. 关于FastCgi与PHP-fpm之间是个什么样的关系【转自知乎】

    刚开始对这个问题我也挺纠结的,看了<HTTP权威指南>后,感觉清晰了不少. 首先,CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者. ...

  2. Selenium Webdriver——Table类封装

    WebTable.java import java.util.List; import org.openqa.selenium.By; import org.openqa.selenium.WebEl ...

  3. FireDAC 汉字字段名称过滤

    [FireDAC][Stan][Eval]-107. Invalid character found [ 拼音码 like '%A%' ] 英文字段名称过滤正常 汉字字段名过滤报错. 莫非不支持汉字字 ...

  4. epoll用法【整理】

    l  epoll是什么? epoll是当前在Linux下开发大规模并发网络程序的热门人选,epoll 在Linux2.6内核中正式引入,和select相似,都是I/O多路复用(IO multiplex ...

  5. web api的新玩法

    前言: 目前大多数的.net core 项目的web api 都是用的json作为数据传输格式,或者说几乎是所有的都是,可是有没有想过换一种数据传输格式怎么处理,比如XML,或者谷歌首推的Protob ...

  6. 搭建双系统win10+ubuntu17.10

    0. 序言 这里采用先装win10,再装ubuntu的顺序.这样可以避免后面系统启动项设置的问题.都采用UEFI引导方式,且使用usb2.0的u盘来引导(3.0的话,要准备好3.0的驱动).另外注意的 ...

  7. 19.Remove Nth Node From End of List(List; Two-Pointers)

    Given a linked list, remove the nth node from the end of list and return its head. For example, Give ...

  8. ios 7.1企业证书无线安装

    ios升级到7.1时,企业证书http服务器发布无线安装不能使用,需要使用https服务器. 测试了几种方式 1.测试时自签名https证书测试无效,提示不能连接到服务器 2.使用dropbox共享连 ...

  9. 265. Paint House II 房子涂色K种选择的版本

    [抄题]: There are a row of n houses, each house can be painted with one of the k colors. The cost of p ...

  10. Linux 下批量创建用户(shell 命令)

    第一种方法: 用shell批量创建用户,分为2中:1,批量创建的用户名无规律 :2.批量创建的用户名有规律首先,来说下批量创建的用户名无规律的shell:先把需要批量创建的用户名用一个文本文档列出来, ...