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

生活 Mar 09, 2020
1

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"
    }
  }
}

注意,使用 Git 模式安装,Favicon 不能正常显示,暂时没有处理办法

席一舟

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

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.