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. springboot获取项目跟目录

      springboot部署之后无法获取项目目录的问题: 之前看到网上有提问在开发一个springboot的项目时,在项目部署的时候遇到一个问题:就是我将项目导出为jar包,然后用java -jar ...

  2. Day15-Django

    all_entries = Entry.objects.all() #查询所有 Entry.objects.filter(pub_date__year=2006) #查询所有pub_date为2006 ...

  3. Django学习---信号

    Django学习之信号 如果我想对所有在数据库创建数据的时候记录一条日志. 比如我们在django中往数据库中增加一条数据,希望生成一条操作日志,或者在数据保存和数据保存之后都保存一条操作日志,那我们 ...

  4. python实现socket上传下载文件-进度条显示

    在python的socket编程中,可以实现上传下载文件,并且在下载的时候,显示进度条,具体的流程如下图所示: 1. 服务器端代码如下: [root@python 519]# cat server.p ...

  5. opencv:级联分类器训练(cascade classifier training)(两个分类器的区别)

    # 介绍 级联分类器包括两个工作阶段:训练(traning),检测(detection).检测阶段在文档<objdetect module of general OpenCV documenta ...

  6. open语句对文本和二进制文件的读写

    文本文件的操作此种方式是以行为单位进行读取的基本单位,主要应用的方法和函数有Open,Close,Line Input,FreeFile,EOF等.先简述其功能然后结合代码示例进行说明.Open:顾名 ...

  7. 【转】volatile关键字。编译器不优化,多线程会改。防止随时变动的

    来自:http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777432.html 1. 为什么用volatile? C/C++ 中的 vol ...

  8. maven 中的依赖

  9. ETL数据仓库

    http://blog.csdn.net/leicool_518/article/category/3058299 http://bbs.csdn.net/topics/390349305

  10. OPENSSL 生成https 客户端证书

    下面说下拿服务器证书.(前提是服务器是https,客户端认证用的时候),服务端不给的时候,我们自己去拿(不给怼他!,哈哈,开个玩笑,都会给的) openssl s_client -connect 域名 ...