將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,能夠前往空間設置開啓默認首頁
相關文章
相關標籤/搜索