关于wordpress:WordPress如何使用腾讯云对象存储COS存储媒体库附件

8次阅读

共计 4993 个字符,预计需要花费 13 分钟才能阅读完成。

这篇文章来介绍一下通过应用插件实现将 WordPress 的媒体库附件存储在腾讯云 COS 上。

腾讯云 COS 具备高扩展性、低成本、牢靠和平安等特点,将媒体库附件保留在 COS 上有以下益处:

  • 附件将领有更高的可靠性;
  • 用户查看图片附件时将直连 COS 服务器,不占用服务器的上行带宽 / 流量,用户访问速度更快;
  • 可配合腾讯云 CDN 进一步晋升用户查看图片附件的速度,优化网站访问速度。

筹备工作

  1. 搭建 WordPress 博客平台
  • 能够在 WordPress 官网页面 下载 WordPress 的最新版并查看装置指南
  • 或者在装置服务器零碎时在镜像市场中抉择预装 WordPress 博客平台 的 CVM 镜像
  1. 创立一个私有读公有写的存储桶,存储桶的地区倡议与运行 WordPress 博客平台的 CVM 的地区雷同,创立详情请参见 创立存储桶 文档
  2. 在存储桶列表中找到刚刚创立的存储桶,并单击 配置管理
  3. 单击左侧的 根底配置,查看拜访域名并记录
  4. 拜访 WordPress 后盾,拜访插件 - 装置插件页面 /wp-admin/plugin-install.php,装置插件
  • 从 GitHub 或 WordPress Plugins 下载最新 releases 源码,通过 WordPress 后盾上传装置,或者间接将源码上传到 WordPress 插件目录 wp-content/plugins,而后在后盾启用
  • 后盾搜寻 Sync QCloud COS 进行装置(举荐应用)

配置 Sync Qcloud COS 插件

  1. 在 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
  1. 填写实现后点击保留更新即可
  2. 测试上传一个新文件,查看附件详情,查看附件图片的 URL,确认附件图片的 URL 指向腾讯云 COS

迁徙

如果以上是胜利的,那么就须要同步旧资源到 COS 存储桶当中,能够应用 COSCLI,否则后盾无奈失常预览旧资源;

COSCLI 是应用 Go 语言开发,部署不便,且反对跨桶操作。

下载与装置配置

COSCLI 工具提供 Windows、Mac、Linux 操作系统的二进制包,通过简略的装置和配置后即可应用。

GitHub 地址 国内站点
Windows Windows
Mac Mac
Linux Linux

以后版本号为 v0.16.0-beta,如需获取工具的最新版本、历史版本和更新日志,请返回 GitHub 进行查看。

依据本人须要在什么环境下应用进行下载,这里以 macOS 为例,其余环境能够参考文档

  1. 下载 COSCLI
wget https://cosbrowser.cloud.tencent.com/software/coscli/coscli-mac
  1. 重命名并批改文件权限
mv coscli-mac /usr/local/bin/coscli
chmod 755 /usr/local/bin/coscli
  1. 查看版本号查看是否装置胜利
$ coscli -v
coscli version v0.16.0-beta

看到了 version 的输入示意装置胜利。

在 macOS 零碎下应用 COSCLI 时,若弹出 无奈关上“coscli”,因为无奈验证开发者 的提醒,能够返回 设置 > 安全性与隐衷 > 通用 中抉择 仍要关上 coscli,之后即可失常应用 COSCLI。

  1. 配置参数

能够应用 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 NameAPP 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.

这里介绍一下 cpsync命令

  • 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 的应用办法请查看官网文档介绍

同步实现当前,能够开启回源设置,参考下文的设置回源。

扩大

  1. 应用 CDN 减速拜访 存储桶如果须要配置 CDN 减速,可参见 CDN 减速配置 文档 在插件设置中将 URL 前缀批改为默认 CDN 减速域名或自定义减速域名即可
  2. 替换数据库中的资源地址 如果不是新创建的站点,数据库当中必然是旧的资源链接地址,咱们须要替换一下,插件提供了替换性能,在首次替换前记得备份 旧域名填写原资源域名,如https://qq52o.me/ 新域名填写当初的资源域名,如
https://img.qq52o.me/
  1. 设置跨域拜访 在文章中援用对应的资源链接,控制台会提醒跨域的谬误
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,具体请查看对应文档 设置跨域拜访

正文完
 0