首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >巧用腾讯云轻量应用服务器的对象存储,打造 WordPress 可靠图床

巧用腾讯云轻量应用服务器的对象存储,打造 WordPress 可靠图床

原创
作者头像
站长帮原创
发布2025-09-01 12:18:43
发布2025-09-01 12:18:43
24500
代码可运行
举报
运行总次数:0
代码可运行

前言

在WordPress性能优化中,对象存储已成为托管图片、CSS、JavaScript等静态资源的黄金标准。这种方案能: ✓ 提升50%以上的页面加载速度 ✓ 降低70%的服务器负载 ✓ 保证99.9%的资源可用性 ✓ 节省高达60%的存储成本

传统方案需要复杂的插件配置和密钥管理,而腾讯云轻量对象存储(Lighthouse版)带来突破性变革——像管理本地磁盘一样简单: • 直接挂载为服务器本地目录 • 无需插件即可自动同步 • 文件操作与普通磁盘无异 • 保持对象存储的所有优势

前提条件

  1. WordPress 部署在腾讯云轻量应用服务器(Lighthouse)上。
  2. 开通轻量对象存储
  3. 准备一个 CDN 用来加速对象存储,例如 EdgeOne 。现 EdgeOne 推出了不计量的免费版套餐,只要购买中国香港及海外地域的轻量应用服务器或云服务器CVM,且订单实付 > 50元,即可参与晒单得 EdgeOne 免费兑换码。需要注意的是:如果要启用 EdgeOne 国内加速需要网站有备案,海外加速不需要。(PS:个人版也很便宜,一年才几十块。)

详细操作过程

第一步:创建一个存储空间(Bucket)

进入腾讯云控制台 > 轻量应用服务器 > 对象存储 > 创建存储桶。尚未购买轻量对象存储包的用户可以点这里按活动价购买(比云硬盘便宜多了)。

创建存储桶
创建存储桶

这里需要注意的是所属地域需选择与轻量应用服务器相同地域,例如轻量服务器在广州区域,那么存储桶的地域也应选择广州。

第二步:将存储桶挂载到轻量应用服务器

WordPress 的上传目录路径为:站点根目录/wp-content/uploads ,那么存储桶需要挂载的路径也应与之对应。在执行挂载之前,如果该目录下已有文件,需要先备份到它处,然后暂停站点访问功能并删除 /wp-content/uploads 目录下所有文件及目录,否则会挂载失败。

挂载对象存储
挂载对象存储

选择服务器:选择需要挂载该存储桶的轻量云服务器。

存储桶挂载目录:这里指的是存储桶中的路径,建议填写 /wp-content/uploads ,这样一来存储桶中的静态资源访问路径与 WordPress 路径相同,方便后续做 URL 改写。

服务器挂载目录:这需要填写绝对路径。使用宝塔面板的用户,创建的站点默认路径为:/www/wwwroot 目录下,如果不确定绝对路径,可以在“WordPress 后台 > 工具 > 站点健康 > 信息”中查看,如下图:

WordPress 中查看上传目录位置
WordPress 中查看上传目录位置

等待大约 1 分钟左右,直至显示挂载成功。

挂载成功
挂载成功

挂载成功后,启用站点访问并将备份的 /wp-content/uploads 目录下的文件复制回来。

现在所有保存在 /wp-content/uploads 目录下的文件已经存储在轻量对象存储中了。

第三步:设置存储桶访问权限

回到对象存储的设置界面,将存储桶访问权限设置为:公有读私有写,然后启用“托管静态网站”功能,如下图:

轻量对象存储属性设置
轻量对象存储属性设置

这样一来,对象存储的 URL :对象存储访问域名/wp-content/uploads/网站域名/wp-content/uploads/ 访问的是相同的路径、相同的目录。

第四步:配置 CDN

轻量对象存储的套餐包是有外网下行流量限制的,超出套餐的外网下行流量是额外计费的,为了避免流量被盗刷强烈建议使用 CDN 缓存并避免泄露对象存储的访问 URL,下面以腾讯云 EdgeOne 为例。

EdgeOne 加速轻量对象存储
EdgeOne 加速轻量对象存储
CDN 缓存规则
CDN 缓存规则

因为 WordPress 的 /wp-content/uploads 目录中通常只有静态文件,所以缓存规则非常简单,通常可以将节点缓存设置为 365 天,浏览器缓存也设置成 365 天。这样可以大幅降低回源压力。

第五步:改写 /wp-content/uploads 目录访问URL

方法一:通过插件实现(推荐)

你可以使用任意的 WordPress 主流缓存/优化插件。比如 PerfmattersW3 Total Cache ProWP Rocket 、WP-Optimize Premium 等都支持静态资源的 CDN 地址改写。

优点:方便、可视化管理。 缺点:增加插件依赖。

Perfmatters 配置示例:

perfmatters 配置 CDN URL 重写示例
perfmatters 配置 CDN URL 重写示例

W3 Total Cache Pro 配置示例:

W3 Total Cache 启用 CDN 示例
W3 Total Cache 启用 CDN 示例
W3 Total Cache 的 CDN URL 重写配置
W3 Total Cache 的 CDN URL 重写配置

WP Rocket 配置示例:

WP Rocket 配置 CDN URL 重写
WP Rocket 配置 CDN URL 重写

使用 WP Rocket 的用户需要注意的是,需要在下方设置从CDN中排除的文件/路径,因为除了 /wp-content/uploads 目录之外其余目录的资源并没有保存到对象存储,如果不排除会返回 404 错误。


方法二:在 WordPress 中添加代码

如果你不想装插件,可以直接用过滤器 wp_get_attachment_urlwp_calculate_image_srcsetcontent_url 来统一替换:

代码语言:javascript
代码运行次数:0
运行
复制
// 替换附件地址为 CDN 域名
add_filter('wp_get_attachment_url', function ($url) {
    return str_replace(home_url('/wp-content/uploads/'), 'https://cdn.zhanzhangb.com/wp-content/uploads/', $url);
});

// 替换文章内容里的媒体地址
add_filter('the_content', function ($content) {
    return str_replace(home_url('/wp-content/uploads/'), 'https://cdn.zhanzhangb.com/wp-content/uploads/', $content);
});

// 替换缩略图 srcset
add_filter('wp_calculate_image_srcset', function ($sources) {
    foreach ($sources as $key => $source) {
        $sources[$key]['url'] = str_replace(home_url('/wp-content/uploads/'), 'https://cdn.zhanzhangb.com/wp-content/uploads/', $source['url']);
    }
    return $sources;
});

// 替换静态资源 URL
add_filter('content_url', function ($url) {
    return str_replace(home_url('/wp-content/'), 'https://cdn.zhanzhangb.com/wp-content/', $url);
});

这样无论是文章里的图片、特色图、缩略图、还是直接引用的资源,都会改写成 CDN 域名(注意将代码中的 cdn.zhanzhangb.com 替换成自己的 CDN 加速域名)。

以上代码可以添加到当前主题的 functions.php 文件中,也可以使用如 WPCode Pro (推荐)类似的代码片段插件插入代码。


方法三:Web 服务器层面改写

如果你用 Nginx/Apache,也可以直接 rewrite:

Nginx 示例

代码语言:javascript
代码运行次数:0
运行
复制
location ~* ^/wp-content/uploads/(.*)$ {
    rewrite ^/wp-content/uploads/(.*)$ https://cdn.zhanzhangb.com/wp-content/uploads/$1 redirect;
}

这种方式是服务端重定向,效果没有 PHP 过滤优雅(因为会多一次跳转),一般不推荐。

总结

通过腾讯云轻量应用服务器的对象存储功能,WordPress 用户可以轻松打造高效、低成本的图床方案。从存储桶挂载、权限设置到 CDN 加速和 URL 改写,本文详细介绍了每一步的操作方法,帮助用户优化网站性能并降低服务器负载。无论是使用插件、代码还是服务器配置,都能灵活实现静态资源托管,让 WordPress 站点加载更快、运行更稳。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 前提条件
  • 详细操作过程
    • 第一步:创建一个存储空间(Bucket)
    • 第二步:将存储桶挂载到轻量应用服务器
  • 第三步:设置存储桶访问权限
  • 第四步:配置 CDN
  • 第五步:改写 /wp-content/uploads 目录访问URL
    • 方法一:通过插件实现(推荐)
    • 方法二:在 WordPress 中添加代码
    • 方法三:Web 服务器层面改写
    • Nginx 示例
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档