在看到这篇文章前,你大概已经听说过 WordPress 了,它是使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设属于自己的网站,也可以把 WordPress 当作一个内容管理系统(CMS)来使用。

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

本文将介绍如何通过使用插件实现远程附件功能,将 WordPress 的媒体库附件存储在腾讯云对象存储 COS 上,并通过腾讯云 CDN 进行加速,实现所有功能。

一、简介

首先,我们了解下将媒体库附件保存在 COS 上有以下好处:

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

二、准备工作

1、搭建 WordPress 博客平台。

  • 您可以在 WordPress 官方页面 下载 WordPress 的最新版并查看安装指南。
  • 您也可以在安装服务器系统时在 镜像市场 中选择预装 WordPress 博客平台的云服务器(Cloud Virtual Machine,CVM)镜像。

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

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

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

三、安装并配置插件

(一)安装插件

在 WordPress 后台,单击插件 > 安装插件,开始安装插件。您可通过下面两种方式获取插件并安装:

  • 后台直接搜索 Sync QCloud COS 进行安装(推荐使用)。
  • 您也可以从 Github 下载最新 releases 源码,通过 WordPress 后台上传安装,或者直接将源码上传到 WordPress 插件目录 wp-content/plugins,然后在后台启用。

(二)配置插件

1、单击 WordPress 左侧导航栏设置,然后在页面中配置 COS 的相关信息,配置说明见下表:

配置项 配置值
存储桶名称 创建存储桶时自定义的名称
存储桶地域 创建存储桶时所选择的地域
APPID APPID 是您在成功申请腾讯云账户后所得到的账号,由系统自动分配,具有固定性和唯一性,可在 账号信息 中查看
SecretID、SecretKey 访问密钥信息,可前往 云 API 密钥 中获取
不上传缩略图 勾选后不会上传对应的缩略图文件,建议不勾选
不在本地保留备份 勾选后不会在本地保留源文件,建议不勾选
本地文件夹 本地保存路径,例如wp-content/uploads
URL 前缀 格式为/<本地文件夹>,例如https://examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/wp-content/uploads

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

3、上传一个新文件进行测试,查看附件详情,查看附件图片的 URL,确认附件图片的 URL 指向腾讯云 COS。

四、扩展

1、使用 CDN 加速访问:

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

2、替换数据库中的资源地址:

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

3、设置跨域访问:

在文章中引用对应的资源链接,控制台会提示跨域的错误No 'Access-Control-Allow-Origin' header is present on the requested resource。

原因是没有添加 header。您需要在跨域访问 CORS 设置中添加 HTTP Header 配置。下面提供两种途径进行配置:

i. 在 CDN 控制台上配置

  • 如允许所有域名,则配置如下:
Access-Control-Allow-Origin: *

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

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

4、设置回源:

如果不在 WordPress 后台媒体库处上传资源,建议开启回源设置。开启之后,客户端首次访问 COS 源文件时,COS 发现无法命中对象时,对客户端返回 302 HTTP 状态码并跳转至回源地址对应的地址,此时对象由源站提供给客户端,保证访问。

同时 COS 从源站复制该文件并保存至存储桶对应的目录中;第二次访问时 COS 直接命中对象并返回给客户端。

五、总结

本文介绍 WordPress 的媒体库附件远程到对象存储 COS 实践分享到此结束,后续将会给大家带来系列关于生态平台/插件相关内容,另外,我们还会为大家带来丰富多彩的生态赋能活动,请敬请期待!

有关生态插件及其他活动信息

欢迎加入交流群,获取生态活动最新资讯

— END —

开启生态新姿势 | 使用 WordPress 远程附件存储到 COS的更多相关文章

  1. 网站远程附件存储到 OSS

    参考:链接  链接  链接 简介 网站远程附件功能是指将用户上传的附件直接存储到远端的存储服务器,一般是通过FTP的方式存储到远程的FTP服务器,将论坛附件保存在 OSS 上有以下好处: 附件将拥有更 ...

  2. [转]使用ping钥匙临时开启SSH:22端口,实现远程安全SSH登录管理就这么简单

    原文链接:使用ping钥匙临时开启SSH:22端口,实现远程安全SSH登录管理就这么简单 这个留待后面玩一下,还是有安全隐患,非核心业务 临时用一下可以. 设置防火墙策略时,关于SSH:22访问权限, ...

  3. Broadcom BCM94352z/DW1560驱动新姿势

    转自:https://blog.daliansky.net/Broadcom-BCM94352z-DW1560-drive-new-posture.html Broadcom WiFi/BlueToo ...

  4. Discuz x3.2七牛远程附件设置

    一.DISCUZX2.5/3/3.1云存储通用接口1.1.0beta版本[8.22最新更新] 链接地址:http://www.discuz.net/thread-3399569-1-1.html 本帖 ...

  5. [转帖]使用ping钥匙临时开启SSH:22端口,实现远程安全SSH登录管理就这么简单

    使用ping钥匙临时开启SSH:22端口,实现远程安全SSH登录管理就这么简单 https://www.cnblogs.com/martinzhang/p/5348769.html good good ...

  6. Python一键转Jar包,Java调用Python新姿势!

    粉丝朋友们,不知道大家看故事看腻了没(要是没腻可一定留言告诉我^_^),今天这篇文章换换口味,正经的来写写技术文.言归正传,咱们开始吧! 本文结构: 需求背景 进击的Python Java和Pytho ...

  7. 【转+自己研究】新姿势之Docker Remote API未授权访问漏洞分析和利用

    0x00 概述 最近提交了一些关于 docker remote api 未授权访问导致代码泄露.获取服务器root权限的漏洞,造成的影响都比较严重,比如 新姿势之获取果壳全站代码和多台机器root权限 ...

  8. FJNU 1159 Fat Brother’s new way(胖哥的新姿势)

    FJNU 1159 Fat Brother’s new way(胖哥的新姿势) Time Limit: 1000MS   Memory Limit: 257792K [Description] [题目 ...

  9. 缺少新的栈标识:报出异常FLAG_ACTIVITY_NEW_TASK flag-是由于activity关闭之后开启一个新的acitivity时没有标识在栈中,所以需要给一个栈标识

    异常(栈里必须有activity的flag标识): 05-02 08:43:36.173: E/AndroidRuntime(3328): android.util.AndroidRuntimeExc ...

  10. vue组件通信新姿势

    在vue项目实际开发中我们经常会使用props和emit来进行子父组件的传值通信,父组件向子组件传递数据是通过prop传递的, 子组件传递数据给父组件是通过$emit触发事件来做到的.例如: Vue. ...

随机推荐

  1. 系统编程-进程-vfork使用、浅析

    1. 先贴代码 #include <stdio.h> #include <stdlib.h> #include <unistd.h> int globvar = 6 ...

  2. .net6 使用gRPC示例

    创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(客户端),测试项目结构如下: 公共模型 测试接口相关类,放在公共类库中,方便服务端和客户端引用相同模型 public class R ...

  3. Python技术书示例代码相关内容

    二维码用微信扫,按提示填写你的邮箱,转到电脑上打开邮箱下载.清华国企网盘,比较快速.安全.放心下载. 百度网盘链接 用Edge/Chrome浏览器下载. <Python自动化运维快速入门> ...

  4. NIO实现聊天室之:一切都要从网络编程的基础开始聊起!

    一.写在开头 大家好,Build哥回来啦!停更了大概2个月之久,之前有段时间去写小说去了,后来又因为公司活太多,牛马干的太投入,就拉下了博客的更新,国庆节期间,难得的闲下来,准备回归老本行啦. 大致的 ...

  5. Windows下使用Wireshark分析USB通信

    WireShark中对USB数据捕获 可以监视与主机连接的usb数据. usb设备是三段地址描述,例如1.15.1,第一个是总线,第二个是设备地址,第三个是端口. USB数据抓包分析 这些是鼠标的数据 ...

  6. TX御加固脱壳

    示例APP某小说 其实脱这个有好几个方法,我使用了两个方法都可以脱掉. 首先使用Y佬的APK测试: 上传文件后经过等待提示任务成功,把给的ZIP包下载下来. 解压后得到两个文件,txt文件是脱壳后的a ...

  7. 理解 keep-alive

    keep-alive 是 Vue 内置的一个组件,可以使被包含的组件保留状态,避免重新渲染 : 对应两个钩子函数 activated 和 deactivated ,当组件被激活时,触发钩子函数 act ...

  8. forEach filter some map every 的区别

    forEach 遍历数组,不会改变原数组,没有返回值 : filter 过滤数组 相同点:都不改变原数组,都是数组的实例方法 :

  9. 3.flask 源码解析:路由

    目录 一.flask 源码解析:路由 1.1 构建路由规则 1.2 werkzeug 路由逻辑 1.3 flask 路由实现 1.4 match 实现 Flask 源码分析完整教程目录:https:/ ...

  10. kotlin更多语言结构——>空安全

    可空类型与非空类型 Kotlin 的类型系统旨在从我们的代码中消除 NullPointerException .NPE 的唯一可能的原因可能是: -  显式调用 throw NullPointerEx ...