将hexo博客一键部署到七牛云

一直有关注过七牛云。它的访问统计分析和CND加速功能让我很心动。正好以前用的服务器也快到期了。因此尝试着把博客部署到七牛云上。下面介绍一下将Hexo生成的页面部署到七牛云html

准备

七牛云linux

  • 七牛云是云服务商,为用户提供免费的存储空间,CND加速,图片处理等功能。
  • 注册七牛云,实名认证,建立储存空间,绑定域名,融合CDN,缓存设置等这里就不赘述了。

qshellgit

  • shell是七牛提供的命令行上传工具,能够将本地的文件快速上传到七牛云

Hexogithub

  • 这个不用多说你们都知道是博客框架

安装使用qshell

qshell下载shell

下面介绍Mac系统下的安装和使用方法,其它系统能够参考文档npm

安装

该工具因为是命令行工具,因此只须要从上面的下载以后便可使用。其中文件名和对应系统关系以下:json

文件名 描述
qshell_linux_x86 Linux 32位系统
qshell_linux_x64 Linux 64位系统
qshell_windows_x86.exe Windows 32位系统
qshell_windows_x64.exe Windows 64位系统
qshell_darwin_x64 Mac 64位系统,主流的系统

1)权限: 若是在Linux或者Mac系统上遇到Permission Denied的错误,请使用命令 chmod +x qshell_darwin_x64 来为文件添加可执行权限。qshell_darwin_x64 是上面的文件名,各个系统不同 2)任何位置运行 对于Linux或者Mac,若是但愿可以在任何位置均可以执行,那么能够把qshell所在的目录加入到环境变量$PATH中去。假设qshell命令被解压到路径/Users/coder/Downloads目录下面,那么咱们能够把以下的命令写入到你所使用的bash所对应的配置文件中,若是是/bin/bash,那么就是~/.bashrc文件,若是是/bin/zsh,那么就是~/.zshrc文件中。写入的内容为:windows

export PATH=$PATH:/Users/coder/Downloads
复制代码

保存完毕以后,能够经过两种方式当即生效,其一为输入source ~/.zshrc或者source ~/.bashrc来使配置当即生效,或者彻底关闭命令行,而后从新打开一个便可,接下来就能够在任何位置使用qshell命令了。缓存

使用

添加密钥和帐户名称 该工具备两类命令,一类须要鉴权,另外一类不须要。 须要鉴权的命令都须要依赖七牛帐号下的 AccessKey, SecretKeyName。因此这类命令运行以前,须要使用 account 命令来添加 AccessKey ,SecretKey和Name 。 Name是用户能够自定义的字符串,用来惟一表示AccessKey/SecretKey帐户,qshell会对添加的每个帐户信息加密保存,可使用自命令user进行切换,切换帐户的时候,须要使用帐户惟一标识 Name。bash

$ qshell account <Your AccessKey> <Your SecretKey> <Your Name>
复制代码

其中name表示该帐号的名称, 若是ak, sk, name首字母是"-", 须要使用以下的方式添加帐号, 这样避免把该项识别成命令行选项:

$ qshell account -- <Your AccessKey> <Your SecretKey> <Your Name>
复制代码

添加完帐户后,就可使用qshell上传,下载文件了 更详细的信息也能够参考文档传送门

Hexo

如今咱们能够在Hexo项目的根目录下建立upload.conf文件

{
  // 这个地址是根目录地址,不可以使用相对路径
  "src_dir": "/Users/coder/7coder/7coder-blog/public",
  // 储存空间名称
  "bucket": "7coder",
  // 是否覆盖
  "overwrite" : true,
  // 检查新增文件
  "rescan_local" : true
}
复制代码

Hexo生成的静态页面所有放在public文件夹下,因此src_dir应当是要以/public结尾的。 接下来可使用qshell来上传文件了

qshell qupload upload.conf
复制代码

执行后就会打印出同步的文件,而后访问你的空间域名就能够了。 关于qupload命令能够阅读详细文档传送门 从此写完博客只需下面两条命令就能够完成部署了

hexo generate
qshell qupload upload.conf
复制代码

一键部署

咱们的目的是实现一键部署,可是上面使用了两条命令才搞定。 打开Hexo下的package.json,填入如下代码

"scripts":{
    "publish": "hexo generate && qshell qupload upload.conf"
  }
复制代码

从此只须要 npm run publish 就可实现一键打包部署到七牛云啦~

  • 若是上传成功可是访问无变化,多是七牛的缓存缘由。能够前往域名管理修改缓存配置
  • 七牛云的默认访问会在域名后拼上/index.html,能够前往空间设置开启默认首页
相关文章
相关标签/搜索