美文网首页
将hexo博客一键部署到七牛云

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

作者: 7coder | 来源:发表于2019-01-07 16:47 被阅读0次

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

    准备

    七牛云

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

    qshell

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

    Hexo

    • 这个不用多说大家都知道是博客框架

    安装使用qshell

    qshell下载

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

    安装

    该工具由于是命令行工具,所以只需要从上面的下载之后即可使用。其中文件名和对应系统关系如下:

    文件名 描述
    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文件中。写入的内容为:

    export PATH=$PATH:/Users/coder/Downloads
    

    保存完毕之后,可以通过两种方式立即生效,其一为输入source ~/.zshrc或者source ~/.bashrc来使配置立即生效,或者完全关闭命令行,然后重新打开一个即可,接下来就可以在任何位置使用qshell命令了。

    使用

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

    $ 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,可以前往空间设置开启默认首页

    相关文章

      网友评论

          本文标题:将hexo博客一键部署到七牛云

          本文链接:https://www.haomeiwen.com/subject/xtaurqtx.html