将 WordPress 多媒体内容存储到腾讯云COS

简介

WordPress 是使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设属于自己的网站,也可以把 WordPress 当作一个内容管理系统(CMS)来使用。

WordPress 功能强大、扩展性强,这主要得益于其插件众多,易于扩充功能,基本上一个完整网站该有的功能,通过其第三方插件都能实现所有功能。

这篇文章我们来介绍一下如何使用插件实现远程附件功能,将 WordPress 的多媒体库附件存储在腾讯云对象存储COS上。

COS 具有高扩展性、低成本、可靠和安全等特点,将多媒体库附件保存在 COS 上有以下好处:

附件将拥有更高的可靠性。

您的服务器无需为附件准备额外的存储空间。

用户查看图片附件时将直连 COS 服务器,不占用您服务器的下行带宽/流量,用户访问速度更快。

可配合腾讯云内容分发网络CDN进一步提升用户查看图片附件的速度,优化网站访问速度。

前提条件

已有 COS 存储桶。如无,可参见创建存储桶操作指引。

已创建服务器。例如云服务器(Cloud Virtual Machine,CVM)。相关指引可参见CVM 产品文档

实践步骤

Wordpress 部署

基于腾讯云服务器来快速搭建 WordPress,有两种方式:通过镜像部署和手动部署。如果您对业务网站有较高的扩展性需求,可手动搭建,详情请参见以下指引:

手动搭建 WordPress 个人站点(Linux)

手动搭建 WordPress 个人站点(Windows)

这里介绍通过镜像部署 WordPress,镜像部署简便快捷。操作步骤如下:

通过镜像拉起 WordPress。

登录云服务器控制台,单击实例管理页面的新建。

根据页面提示选择机型,并在实例配置 > 镜像中单击镜像市场,选择从镜像市场选择。

在“镜像市场”弹窗中,选择基础软件,输入 wordpress 进行搜索。

按需选择镜像,以选择 WordPress博客程序_v5.5.3(CentOS | LAMP) 为例,单击免费使用。

完成选购后,登录 CVM 控制台,为刚创建的实例关联安全组,需添加放通80端口的入站规则。

在实例的管理页面,复制该云服务器实例的公网 IP,在本地浏览器中访问地址http://公网 IP/wp-admin,开始安装 WordPress 网站:

选择 Wordpress 语言后,单击 Continue。

按需输入 WordPress 站点标题、管理员用户名、管理员密码及电子邮件。

单击安装WordPress。

单击登录。

将 WordPress 升级到新版本6.0.2。

单击仪表盘左侧菜单,进入“更新”菜单,更新到新版本6.0.2。

更多详情可参见镜像部署 WordPress 个人站点

创建 COS 存储桶

创建一个公有读私有写的存储桶,存储桶的地域建议与运行 WordPress 博客平台的 CVM 的地域相同,创建详情请参见 创建存储桶 文档。

在存储桶列表中找到刚才创建的存储桶,并单击其存储桶名称,进入存储桶页面。

在左侧导航栏中,单击概览,查看访问域名并记录。

安装并配置插件

安装插件的方式包括在插件库中安装和源码安装。

在插件库中安装(推荐使用)

在 WordPress 后台,单击插件,直接搜索 tencentcloud-cos 插件,单击立即安装即可。

源码安装

首先下载插件源码,然后将插件源码上传到 WordPress 插件目录wp-content/plugins,最后在后台启用。

下面以 Ubuntu 为例安装插件:

进入 wp-content 的父目录:


cd/var/www/html

添加权限:


chmod-R 777 wp-content

创建插件目录:


cdwp-content/plugins/mkdirtencent-cloud-coscdtencent-cloud-cos

下载插件到插件目录:


wget https://cos5.cloud.tencent.com/cosbrowser/code/tencent-cloud-cos.zipunzip tencent-cloud-cos.ziprmtencent-cloud-cos.zip -f

单击“插件”左侧菜单,即可看到该插件,单击启用该插件。

配置插件

在插件 tencent-cloud-cos 配置 COS 存储桶信息:

单击“设置”按钮来配置插件 tencent-cloud-cos。

在页面中配置 COS 的相关信息,配置说明见下表:

配置项配置值

SecretId、SecretKey访问密钥信息,可前往云 API 密钥中创建和获取

所属地域创建存储桶时所选择的地域

空间名称创建存储桶时自定义的存储桶名称,例如examplebucket-1250000000

访问域名指 COS 的默认存储桶域名,用户在创建存储桶时,由系统根据存储桶名称和地域自动生成。不同地域的存储桶有不同的默认域名。您可以前往对象存储控制台,在存储桶的概览 > 域名信息中查看

自动重命名文件上传到 COS 后自动重命名,避免与已有同名文件相冲突,可按照指定格式重命名

不在本地保存开启后,不会在本地保留源文件

保留远程文件开启后,当删除文件,将只删除本地文件副本,仍然保留远程 COS 桶中的文件副本,可方便找回

禁止缩略图开启后不会上传对应的缩略图文件

数据万象开启数据万象服务,可对图片进行编辑、压缩、转换格式、添加水印等操作,详情可参见数据万象产品介绍

文件审核开启文件审核,可对图片、视频、音频、文本、文档、网页等多媒体的内容安全智能审核服务,可帮助用户有效识别色情低俗、违法违规、恶心反感等违禁内容,规避运营风险,详情可参见内容审核概述

文档预览开启文档预览,可将文件转码为图片、PDF 或 HTML5页面,解决文档内容的页面展示问题,详情可参见文档预览概述

调试记录错误、异常和警告信息

配置完成后,单击保存配置即可。

验证 Wordpress 附件存储到 COS

在 Wordpress 创建一篇带图片的文章,查看图片是否保存在 COS。

创建一篇带图片的文章。在 Wordpress 仪表盘,单击“文章”左侧菜单。

对 Wordpress 默认生成的”世界,您好!“文章进行编辑。

单击右边 “+”按钮。

然后选择上传一张图片。

上传完成后,查看已上传图片的 URL,确认图片地址为 COS 的地址,例如https://wd-125000000.cos.ap-nanjing.myqcloud.com/2022/10/立夏-1200x675.jpeg,格式为:https://<BucketName-APPID>.cos.<Region>.myqcloud.com/<ObjectKey>,表示图片已上传到 COS 存储桶。

登录 COS 控制台,在 COS 存储桶里能看到您刚才上传的图片。

说明:

以上测试成功后,接下来如果需要同步旧资源到 COS 存储桶中(可使用COSCMD 工具或者COS Migration 工具),否则后台无法正常预览旧资源。同步完成以后,可以开启回源设置,可参考下文的设置回源

扩展

使用 CDN 加速访问

存储桶如果需要配置 CDN 加速,可参见CDN 加速配置文档。在插件设置中将 URL 前缀修改为默认 CDN 加速域名或自定义加速域名即可。

替换数据库中的资源地址

如果不是新创建的站点,数据库当中必定是旧的资源链接地址,我们需要将资源地址进行替换,插件提供了替换功能,请在首次替换前记得备份。

旧域名填写原资源域名,例如https://example.com/

新域名填写现在的资源域名,例如https://img.example.com/

设置跨域访问

在文章中引用对应的资源链接,控制台会提示跨域的错误No 'Access-Control-Allow-Origin' header is present on the requested resource。原因是没有添加 header。您需要在跨域访问 CORS 设置中添加 HTTP Header 配置。下面提供两种途径进行配置:

在 COS 控制台上配置

说明:

关于跨域配置操作步骤,请参见设置跨域访问文档。

在 CDN 控制台上配置

如允许所有域名,则配置如下:


Access-Control-Allow-Origin: *

只允许您个人的域名访问,则配置如下:


Access-Control-Allow-Origin: https://example.com

设置回源

如果您不在 WordPress 后台媒体库中上传资源,建议开启回源设置,详细步骤请参见 设置回源 文档。

开启回源设置后,当客户端首次访问 COS 源文件时,COS 发现无法命中对象,对客户端返回 302 HTTP 状态码并跳转至回源地址所对应的地址,此时对象由源站提供给客户端,从而保证访问。同时 COS 从源站复制该文件并保存至存储桶对应的目录中;第二次访问时,COS 直接命中对象并返回给客户端。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,588评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,456评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,146评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,387评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,481评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,510评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,522评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,296评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,745评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,039评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,202评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,901评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,538评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,165评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,415评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,081评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,085评论 2 352

推荐阅读更多精彩内容