使用腾讯云对象存储作为 Ghost 博客图床

生活 Jan 18, 2020
  • cd 到 Ghost 安装目录

    sudo cd /var/www/ghost
    
  • 安装Oss存储模块

    sudo npm uninstall ghost-qcloud-cos
    
  • 创建存储文件夹(如果尚不存在)

    sudo mkdir -p content/adapters/storage
    
  • 将模块文件复制到该文件夹

    sudo cp -vR node_modules/ghost-qcloud-cos content/adapters/storage/ghost-qcloud-cos
    
  • 创建一个名为“ cos-store.js”的脚本,内容如下:

    sudo touch  content/adapters/storage/cos-store.js
    sudo vim  content/adapters/storage/cos-store.js
    // 编辑以下内容
    module.exports = require('ghost-qcloud-cos');
    
  • 配置 config.[env].json

    {
      "storage": {
        "active": "cos-store",
        "cos-store": {
          "baseUrl": "Base Url(Allowed to be empty)",
          "SecretId": "Secret Id",
          "SecretKey": "Secret Key",
          "Bucket": "xxxx-123456",
          "Region": "ap-chengdu"
        }
      }
    }
    
  • 重启生效。

    ghost restart
    

    以上方式,OSS 中图片路径和图片名称都是写死的,如果要自定义安装路径和图片名,需要使用 Git 方式安装。

    • 从项目 Github 源 Fork 一份代码到自己仓库中。

    • 创建文件夹 storage 并 Clone 代码至 storage 中

      sudo mkdir -p content/adapters/storage
      sudo chown inote:inote content/adapters/storage
      sudo chmod 775 content/adapters/storage
      cd content/adapters/storage
      sudo git clone https://github.com/xiyizhou/ghost-qcloud-cos.git
      
    • ghost-qcloud-cos 下安装依赖

      cd ghost-qcloud-cos
      npm i
      
    • 如需自定义图片储存路径和图片名称,请修改index.js 第72/73行。

      return `/ghost/content/images/${YY}/${MM}/${file.name}`
      
    • 配置 config.[env].json

      {
        "storage": {
          "active": "ghost-qcloud-cos",
          "ghost-qcloud-cos": {
            "baseUrl": "Base Url(Allowed to be empty)",
            "SecretId": "Secret Id",
            "SecretKey": "Secret Key",
            "Bucket": "xxxx-123456",
            "Region": "ap-chengdu"
          }
        }
      }
      

席一舟

四野八荒,苦茶清禅。渔樵江渚,浊酒西风。 螽斯蓝寿,稀禾芡菱。嬉笑怒骂,行藏自由。 策马悬崖,雕弓满月。惊涛拍岸,毕力遐方。 银鞍白马,一剑寒霜。此生谁料,咸是妙明。