Ghost官方storage插件清单中没有阿里云OSS。但从提升国内访问速度来看,阿里云OSS是一个非常好的选择。推荐使用非官方插件"ghost-oss-store",实现CDN加速。

ghost-oss-store最早为MT-Libraries/ghost-oss-store,但由于长时间没有维护,并且上传图片后,指向文件为HTTP协议,浏览器会提示页面链接不安全。推荐使用goodideal/ghost-oss-store改版插件。

增强以下功能:

  • 支持按照日期结构保存;
  • 可自动生成文件名随机字符串,防止文件重名而覆盖;
  • 支持图片最大显示大小设置。

使用方法也比较简单,从上篇博客系统Ghost初体验开始,继续以docker方式部署。

主要是3个地方需要调整:

  1. 安装插件库;
  2. 增加storage adapter;
  3. 增加storage的配置信息。

1. 安装插件库

可以通过Dockerfile编译打包,参考如下:

FROM ghost:alpine

RUN apk add --no-cache git && \
  npm install goodideal/ghost-oss-store

其中在RUN中先执行了apk add git,原因是npm install一个git库时,需要依赖git执行文件。

2. 增加storage adapter

昨晚第一步后,将docker-compose.yml文件中ghost部分,如果有image需要改为build后,再执行docker-compose build && docker-compose up,之后会生成ghost-content目录。在改目录中可以看到多个文件夹,新建adapters/storage/ghost-oss-store目录,增加index.js文件,填充如下内容:

'use strict';
module.exports = require('ghost-oss-store');

3. 增加storage的配置信息

storage.env中增加如下信息:

storage__active=ghost-oss-store
storage__ghost-oss-store__accessKeyId=
storage__ghost-oss-store__accessKeySecret=
storage__ghost-oss-store__bucket=
storage__ghost-oss-store__region=
storage__ghost-oss-store__origin=

storage__ghost-oss-store__fileKey__prefix=
storage__ghost-oss-store__fileKey__folderByDate=true
storage__ghost-oss-store__fileKey__filenameWithRandam=true
storage__ghost-oss-store__fileKey__maxPixel=2000

大功告成…

参考git示例

Jerry

Jerry

大道至简,行者无疆。

Leave a Reply

Optimized by WPJAM Basic