前言
WordPress 是一个使用 PHP 语言开发的博客平台。 用户可以在支持 PHP 和 MySQL 数据库的服务器上建立自己的网站,或者使用 WordPress 作为内容管理系统 (CMS)。
WordPress 功能强大且可扩展。 这主要得益于插件众多,扩展方便。 基本上,一个完整的网站通过其第三方插件都可能具备所有功能。
简介
本文将介绍如何利用插件实现远程附件功能,并将WordPress媒体库附件存储在腾讯云cos上
腾讯云COS具有高扩展性、低成本、可靠、安全等特点。 在COS上保存媒体库附件有以下优点:
- 附件将拥有更高的可靠性;
- 用户查看图片附件时将直连 COS 服务器,不占用您服务器的下行带宽 / 流量,用户访问速度更快;
- 可配合腾讯云 CDN 进一步提升用户查看图片附件的速度,优化网站访问速度。
准备工作
1.搭建WordPress博客平台
您可以在WordPress官方页面下载最新版本的WordPress并查看安装指南
或者在安装服务器系统时,选择镜像市场中预装的CVM镜像WordPress博客平台
- 创建一个公共读/私有写存储桶。 推荐的bucket区域与运行WordPress博客平台的CVM相同。 具体创建请参考创建bucket
- 、在桶列表中找到刚才创建的桶,点击配置管理
4. 单击左侧的基础配置
,查看访问域名并记录
- 访问 WordPress 后台,访问插件 – 安装插件页面 /wp-admin/plugin-install.php,安装插件(后台搜索 Sync QCloud COS 进行安装)
配置 Sync Qcloud COS 插件
1. 在 WordPress 后台管理左侧导航栏设置
下找到腾讯云COS设置
,点击进入设置页面,配置说明见下表:
配置项 | 配置值 |
存储桶名称 | 创建存储桶时自定义的名称 |
存储桶地域 | 创建存储桶时所选择的地域 |
APP ID | 开发商 APPID,创建存储桶时名称后的 ID |
SecretID | 前往「云 API 密钥」进行获取 |
SecretKey | 前往「云 API 密钥」进行获取 |
不上传缩略图 | 勾选后不会上传对应的缩略图文件,建议不勾选 |
不在本地保留备份 | 勾选后不会在本地保留原文件,建议不勾选 |
本地文件夹 | 本地保存路径,例 wp-content/uploads |
不在本地保留备份 | 勾选后不会在本地保留原文件,建议不勾选 |
URL 前缀 | COS 访问域名 / 本地文件夹,例 https://media-10000000.cos.ap-shanghai.myqcloud.com/wp-content/uploads |
2.填写完成后点击保存并更新
3.测试上传新文件,查看附件详情,查看附件图片地址,确认附件图片地址指向腾讯云COS
如果以上成功,则需要将旧资源同步到COS桶中。 可以使用COSCMD或者COS Migration,否则后台无法正常预览旧资源; 同步完成后可以开启回源设置,参考以下回源设置。
扩展
1.使用CDN加速访问
如果需要为bucket配置CDN加速,请参考CDN加速配置文档
在插件设置中修改URL前缀为默认CDN加速域名或自定义加速域名即可。
2.替换数据库中的资源地址
如果不是新建站点,数据库一定是旧的资源链接地址,我们需要替换,插件提供替换功能,第一次替换前记得备份
旧域名填写原资源域名,如https://jswu.net/
新域名填写当前资源域名,如https://oss.qfya.com/
3.设置跨域访问
在文章中引用对应的资源链接,控制台会提示跨域的错误
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://jswu.net
在存储桶的基础设置中设置 跨域访问CORS
,详细请查看对应文档 设置跨域访问
4. 设置回源
如果没有上传WordPress后端媒体库中的资源,建议开启回源设置。 详情请查看对应文档设置回源
打开后,客户端第一次访问COS源文件时,COS发现无法命中对象时,向客户端返回302HTTP状态码,并跳转回源地址对应的地址。 此时,对象由源站提供给客户端,以保证访问。 同时COS从源站点复制文件,保存到bucket对应的目录; COS在第二次访问时直接命中对象,返回给客户端。
因为WordPress设计问题,后台媒体库上传资源会占用文章ID,所以我一般不后台上传
后话
如果上传图资源不想占用4个ID可以参考下面文章
暂无评论内容