概要
GhostはNode.jsをベースにした、ブログ系のウェブサイトをスピーディーに構築できるフレームワークです。開発者はGhostの公式cliツールによって個人ウェブサイトをワンクリックで生成し、CVMやDocker上にデプロイすることができます。 添付ファイルのアップロードはブログ系ウェブサイトにとって欠かせない機能です。Ghostは添付ファイルをデフォルトでローカルに保存します。ここではプラグインによって添付ファイルをTencent Cloud Object Storage(COS)に保存する方法についてご説明します。フォーラムの添付ファイルをCOSに保存すると次のようなメリットがあります。 添付ファイルの信頼性が高まります。
サーバーがフォーラム添付ファイルのために追加のストレージスペースを用意する必要がありません。
ユーザーが画像添付ファイルを確認する際は直接COSサーバーに接続するため、サーバーのダウンストリーム帯域幅/トラフィックを占有せず、ユーザーのアクセス速度がより速くなります。
準備作業
Ghostウェブサイトの構築
2. ghost-cliをインストールします。
npm install ghost-cli@latest -g
3. プロジェクトを作成し、このプロジェクトのルートディレクトリで次のコマンドを実行します。
作成に成功すると、プロジェクトの構造は下図のようになります。
4. ブラウザを開き、localhost:2368に進むと登録ページが表示されます。登録し、管理バックエンドに進みます。
COSバケットの作成
1. COSコンソールで、アクセス権限がパブリック読み取り・プライベート書き込みのバケットを作成します。操作ガイドについてはバケットの作成をご参照ください。 2. セキュリティ管理>クロスドメインアクセスCORS設定をクリックし、クロスドメイン設定を1行追加します。デバッグの利便性のため、以下の設定を使用できます。操作ガイドについては、クロスドメインアクセスの設定をご参照ください。 GhostをCOSバケットにバインドする
1. Ghostプロジェクトのルートディレクトリ下のconfig.development.json設定ファイルを変更し、次の設定を追加します。
"storage": {
"active": "ghost-cos-store",
"ghost-cos-store": {
"BasePath": "ghost/",
"SecretId": "AKID*************",
"SecretKey": "***************",
"Bucket": "xxx-125********",
"Region": "**-*******"
}
}
パラメータの説明は次のとおりです。
|
BasePath | ファイルの保存先のCOSパスはご自身で変更できます。入力しない場合はデフォルトでルートディレクトリになります |
SecretId | |
SecretKey | |
Bucket | バケット作成時にカスタマイズした名前。例:examplebucket-1250000000。 |
Region | バケット作成時に選択したリージョン。 |
2. カスタムストレージディレクトリを作成し、このプロジェクトのルートディレクトリで次を実行します。
mkdir -p content/adapters/storage
3.1 npmによってインストールします。
npm install ghost-cos-store
3.2 storageディレクトリ下にghost-cos-store.jsファイルを作成します。内容は次のとおりです。
module.exports = require('ghost-cos-store');
3.3 git cloneによってインストールします。
cd content/adapters/storage
git clone https://github.com/tencentyun/ghost-cos-store.git
cd ghost-cos-store
npm i
3.4 インストール完了後にGhostの再起動が必要です。
投稿してアップロードテストを行う
1. Ghost管理バックエンドに進み、クリックして記事を1件投稿します。
2. 画像のアップロードをクリックします。ブラウザでパケットキャプチャを行うとuploadリクエストの成功が確認でき、画像に対応したCOSリンクが返されます。
この記事はお役に立ちましたか?