共计 4993 个字符,预计需要花费 13 分钟才能阅读完成。
这篇文章来介绍一下通过应用插件实现将 WordPress 的媒体库附件存储在腾讯云 COS 上。
腾讯云 COS 具备高扩展性、低成本、牢靠和平安等特点,将媒体库附件保留在 COS 上有以下益处:
- 附件将领有更高的可靠性;
- 用户查看图片附件时将直连 COS 服务器,不占用服务器的上行带宽 / 流量,用户访问速度更快;
- 可配合腾讯云 CDN 进一步晋升用户查看图片附件的速度,优化网站访问速度。
筹备工作
- 搭建 WordPress 博客平台
- 能够在 WordPress 官网页面 下载 WordPress 的最新版并查看装置指南
- 或者在装置服务器零碎时在镜像市场中抉择预装 WordPress 博客平台 的 CVM 镜像
- 创立一个私有读公有写的存储桶,存储桶的地区倡议与运行 WordPress 博客平台的 CVM 的地区雷同,创立详情请参见 创立存储桶 文档
- 在存储桶列表中找到刚刚创立的存储桶,并单击
配置管理
- 单击左侧的
根底配置
,查看拜访域名并记录 - 拜访 WordPress 后盾,拜访插件 - 装置插件页面
/wp-admin/plugin-install.php
,装置插件
- 从 GitHub 或 WordPress Plugins 下载最新 releases 源码,通过 WordPress 后盾上传装置,或者间接将源码上传到 WordPress 插件目录
wp-content/plugins
,而后在后盾启用 - 后盾搜寻
Sync QCloud COS
进行装置(举荐应用)
配置 Sync Qcloud COS 插件
- 在 WordPress 后盾治理左侧导航栏
腾讯云 COS
,点击进入设置页面,配置阐明见下表
配置项 | 配置值 |
---|---|
存储桶名称 | 创立存储桶时自定义的名称 |
存储桶地区 | 创立存储桶时所抉择的地区 |
APP ID | 开发商 APPID,创立存储桶时名称后的 ID |
SecretID | 返回「云 API 密钥」进行获取 |
SecretKey | 返回「云 API 密钥」进行获取 |
不上传缩略图 | 勾选后不会上传对应的缩略图文件,倡议不勾选 |
不在本地保留备份 | 勾选后不会在本地保留原文件,倡议不勾选 |
本地文件夹 | 本地保留门路,例wp-content/uploads |
不在本地保留备份 | 勾选后不会在本地保留原文件,倡议不勾选 |
URL 前缀 | COS 拜访域名 / 本地文件夹,例https://media-100000cos.ap-shanghai.myqcloud.com/wp-content/uploads |
- 填写实现后点击保留更新即可
- 测试上传一个新文件,查看附件详情,查看附件图片的 URL,确认附件图片的 URL 指向腾讯云 COS
迁徙
如果以上是胜利的,那么就须要同步旧资源到 COS 存储桶当中,能够应用 COSCLI,否则后盾无奈失常预览旧资源;
COSCLI 是应用 Go 语言开发,部署不便,且反对跨桶操作。
下载与装置配置
COSCLI 工具提供 Windows、Mac、Linux 操作系统的二进制包,通过简略的装置和配置后即可应用。
GitHub 地址 | 国内站点 |
---|---|
Windows | Windows |
Mac | Mac |
Linux | Linux |
以后版本号为 v0.16.0-beta,如需获取工具的最新版本、历史版本和更新日志,请返回 GitHub 进行查看。
依据本人须要在什么环境下应用进行下载,这里以 macOS 为例,其余环境能够参考文档
- 下载 COSCLI
wget https://cosbrowser.cloud.tencent.com/software/coscli/coscli-mac
- 重命名并批改文件权限
mv coscli-mac /usr/local/bin/coscli | |
chmod 755 /usr/local/bin/coscli |
- 查看版本号查看是否装置胜利
$ coscli -v | |
coscli version v0.16.0-beta |
看到了 version
的输入示意装置胜利。
在 macOS 零碎下应用 COSCLI 时,若弹出
无奈关上“coscli”,因为无奈验证开发者
的提醒,能够返回设置 > 安全性与隐衷 > 通用
中抉择仍要关上 coscli
,之后即可失常应用 COSCLI。
- 配置参数
能够应用 coscli --help
命令来疾速查看 COSCLI 的应用办法。在第一次应用时,执行 coscli
命令,会进行初始化配置,须要输出 Secret ID
等信息,按步骤填写实现后,COSCLI 会默认在 ~/.cos.yaml
的地位生成配置文件
$ coscli | |
2023/09/06 17:11:46 Welcome to coscli! | |
When you use coscli for the first time, you need to input some necessary information to generate the default configuration file of coscli. | |
The path of the configuration file: /Users/lufei/.cos.yaml | |
Input Your Secret ID: |
前期也能够应用 coscli config init
命令在其余地位为 COSCLI 交互式地生成配置文件,或者能够间接手动编写 COSCLI 的配置文件。
配置文件中各配置项的阐明如下:
配置项 | 阐明 |
---|---|
Secret ID | 密钥 ID,可从 拜访治理控制台 中创立并获取。 |
Secret Key | 密钥 Key,可从 拜访治理控制台 中创立并获取。 |
Session Token | 长期密钥 token,当应用长期密钥时须要配置,若不应用能够间接按 Enter 跳过。 |
APP ID | APP ID 是您在胜利申请腾讯云账户后所失去的账号,由零碎主动调配,可从 账号信息 中获取。一个存储桶的全称由 Bucket Name 和APP ID 这两个元素组成,格局为<BucketName-APPID> ,详情请参见 存储桶命名标准。 |
Bucket Name | 存储桶名称,和 APP ID 一起形成存储桶全称,格局为<BucketName-APPID> ,详情请参见 存储桶命名标准。 |
Bucket Region | 存储桶所在地区,详情请参见 地区与拜访域名。 |
Bucket Alias | 存储桶别名,配置后能够在应用时用 BucketAlias 代替 BucketName-APPID ,缩小所需输出的命令长度,如果不配置此项,BucketAlias 的值是 BucketName-APPID 的值。 |
配置实现后能够查看 ~/.cos.yaml
文件,能够看到相似如下内容:
$ cat ~/.cos.yaml | |
cos: | |
base: | |
secretid: xxxxx | |
secretkey: xxxxx | |
sessiontoken: xxxxx | |
protocol: https | |
buckets: | |
- name: sy-records-85464277 | |
alias: sy-records-85464277 | |
region: "" | |
endpoint: cos.ap-shanghai.myqcloud.com |
secretid/secretkey/sessiontoken 均为加密后的字符串,不是明文配置的值。
如果须要 反对多个存储桶 ,能够应用coscli config add
命令增加存储桶配置。
应用
COSCLI 反对以下命令:
$ coscli --help | |
Welcome to use coscli! | |
Usage: | |
coscli [flags] | |
coscli [command] | |
Available Commands: | |
abort Abort parts | |
bucket-tagging Modify bucket tagging | |
config Init or edit config file | |
cp Upload, download or copy objects | |
du Displays the size of a bucket or objects | |
hash Calculate local file's hash-code or show cos file's hash-code | |
help Help about any command | |
ls List buckets or objects | |
lsparts List multipart uploads | |
mb Create bucket | |
rb Remove bucket | |
restore Restore objects | |
rm Remove objects | |
signurl Gets the signed download URL | |
sync Synchronize objects | |
Flags: | |
-c, --config-path string config file path(default is $HOME/.cos.yaml) | |
-e, --endpoint string config endpoint | |
-h, --help help for coscli | |
-i, --secret-id string config secretId | |
-k, --secret-key string config secretKey | |
-t, --session-token string config sessionToken | |
-v, --version version for coscli | |
Use "coscli [command] --help" for more information about a command. |
这里介绍一下 cp
和sync
命令
- cp 命令用于上传、下载或拷贝文件。
- sync 命令用于同步上传、下载或拷贝文件。
与 cp 命令不同的是:sync 命令首先会比照同名文件的 crc64,如果 crc64 值雷同则不进行传输。
这两个命令在上传和下载大文件时会主动启用并发上传 / 下载。当以分块模式上传 / 下载文件时,会默认开启断点续传。
以迁徙 WordPress 为例,能够应用如下命令将 WordPress 的媒体库上传到 COS 中,其中 /yourpath/wp-content/uploads
就是你的 WordPress 站点目录本地的媒体库存储门路,而 wp-content/uploads
就是寄存在 COS 中的门路。
首次上传
- 将本地 wp-content/uploads 文件夹下的所有文件上传至 bucket1 桶中的 wp-content/uploads 文件夹下
coscli cp /yourpath/wp-content/uploads/ cos://bucket1/wp-content/uploads/ -r
- 将本地 wp-content/uploads 文件夹下的所有 .mp4 类型文件上传至 bucket1 桶中的 wp-content/uploads 文件夹下
coscli cp /yourpath/wp-content/uploads/ cos://bucket1/wp-content/uploads/ -r --include .*.mp4
- 将本地 wp-content/uploads 文件夹下的所有非 .md 类型文件上传至 bucket1 桶中的 wp-content/uploads 文件夹下
coscli cp /yourpath/wp-content/uploads/ cos://bucket1/wp-content/uploads/ -r --exclude .*.md
二次上传
如果呈现了某些异样,或者手动进行掉后,想要从新上传,能够应用sync
,该命令会比照同名文件的 crc64,如果 crc64 值雷同则不进行传输。
coscli sync /yourpath/wp-content/uploads/ cos://bucket1/wp-content/uploads/ -r
更多对于 COSCLI 的应用办法请查看官网文档介绍
同步实现当前,能够开启回源设置,参考下文的设置回源。
扩大
- 应用 CDN 减速拜访 存储桶如果须要配置 CDN 减速,可参见 CDN 减速配置 文档 在插件设置中将 URL 前缀批改为默认 CDN 减速域名或自定义减速域名即可
- 替换数据库中的资源地址 如果不是新创建的站点,数据库当中必然是旧的资源链接地址,咱们须要替换一下,插件提供了替换性能,在首次替换前记得备份 旧域名填写原资源域名,如
https://qq52o.me/
新域名填写当初的资源域名,如
https://img.qq52o.me/
- 设置跨域拜访 在文章中援用对应的资源链接,控制台会提醒跨域的谬误
No 'Access-Control-Allow-Origin' header is present on the requested resource
起因是没有增加 header 须要你的 COS 源的 CDN 中增加 HTTP Header 配置
Access-Control-Allow-Origin:*
或者只容许你本人的域名
Access-Control-Allow-Origin:https://qq52o.me
在存储桶的根底设置中设置 跨域拜访 CORS
,具体请查看对应文档 设置跨域拜访