当前位置: WordPress教程 > 常用插件 > 阅读正文

wordpress使用oss云存储

2021.4.14.   1228 次   2491字

如果你使用的是阿里云主机, 那么oss是最佳云存储

存储资源是个难点

对于运维一个wordpress站点, 你的博客不可能仅有文字, 但图片始终是个麻烦, 虽然有很多的”免费图床”, 包括 “又拍云”, “七牛云” 或者其他图床, 但是这仍然会有隐患

  • 被恶意刷流量导致欠下高额费用, 你很可能欠下几千几万高额债务
  • 可能无法迁移, 这指的是一些个人的免费图床
  • 不被wordpress原生支持, 比如查找”未附加到页面”的图片是不可能的

基于以上考虑, 免费图床尽量不用.

为什么使用对象存储?

毫无疑问, 对象存储资费低, 适合海量存储, 有着”无限存储能力”, 我们可以用不担心磁盘爆满

一般情况下, 我们都不可能购买存储量极大的服务器, 小小的几十G容量根本放不下, 这就导致云存储迫在眉睫.

wordpress使用oss

1.非多站点集群的wordpress

如果你没开启多站点, 那么你有很多种选择, 在wordpress应用商店中, 多款插件都是可以使用的

而且还有其他云存储的插件, 比如 腾讯云的 cos, 七牛云, 又拍云的插件, 你大可以使用这些插件协助你使用对应的云存储

2.多站点集群的wordpress

经测试, 以上插件, 没有一款是能用的, 无论你使用的是oss, cos, 七牛, 又拍等, 都有严重的bug, 最终本站使用了 ossfs 挂载 oss 到wp-content/uploads目录上,

该解决方案, 不会产生流量费用, 因为是”内网”, 而且不单是图床, 也能存储/下载附件资源, 更能被wordpress原生支持.

ossfs挂载步骤

1.下载ossfs(可以下载最新版,这里是示例版本),可以查看官网给出的示例版本,里面有下载地址,请点击这里 , 下面仅介绍centos挂载方法, 其他系统类似, 不会的请百度或qq交流群

wget http://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_centos7.0_x86_64.rpm

2.安装ossfs(注意localinstall后面的名字和文件名一致)

sudo yum localinstall ossfs_1.80.6_centos7.0_x86_64.rpm

3.设置oss的access信息并存入一个文件中(这个只是一个文本文件而已),其中的mybucketname是存储桶的名称,accessid是连接id,accesskey是连接密钥,这三个在阿里云控制台查看。

echo mybucketname:accessid:accesskey > /etc/passwd-ossfs

4.将这个文件的访问权限设置为640(给予正确的权限,官方推荐640)

chmod 640 /etc/passwd-ossfs

5.挂载bucket到你wp的uploads该目录(主要选内网域名)在执行此命令前, 先把uploads目录备份到其他文件夹, 它会自动隐藏你原先目录的资源, 取消挂载后会再次出现, 意味着它不能自动合并已有文件到oss中, 故先备份原有目录并在挂载后手动导入

ossfs mybucketname /mytest/wp-content/uploads -ourl=http://oss-cn-beijing-internal.aliyuncs.com -o allow_other -o nonempty

6.卸载该bucket,请先获取root权限,再执行如下命令,需要等待一段时间生效

fusermount -zu /mytest/wp-content/uploads

7.关机后挂载失效?

重启服务器后,需要重新挂载,即重新输入第5不步骤的挂载命令即可。(或添加开机执行脚本)

8.1开机启动脚本方法一

在/etc/init.d/目录下建立文件ossfs,拷贝如下代码,最后一句改成第5步骤代码

#! /bin/bash
#
# ossfs      Automount Aliyun OSS Bucket in the specified direcotry.
#
# chkconfig: 2345 90 10
# description: Activates/Deactivates ossfs configured to start at boot time.

ossfs mybucketname /mytest/wp-content/uploads -ourl=http://oss-cn-beijing-internal.aliyuncs.com -o allow_other -o nonempty

让该文件可执行:chmod a+x /etc/init.d/ossfs

把该文件加入到开机启动项:chkconfig ossfs on

8.2开机启动方法二(推荐)

先让/etc/rc.d/rc.local文件具有执行命令权限

chmod +x /etc/rc.d/rc.local

在rc.local文件中,添加第5步骤的代码即可

ossfs mybucketname /mytest/wp-content/uploads -ourl=http://oss-cn-beijing-internal.aliyuncs.com -o allow_other -o nonempty

The Paste插件

此插件, 能够在粘贴板上传图片, 非常便捷

比如你使用了qq的ctrl+alt+a进行截图, 你的粘贴板上就会是一张图片, 那么在编辑文章时, 我们使用ctrl+v就能直接上传并自动引用到页面编辑中, 省去了多个复杂的步骤

备份排除目录

1.宝塔面板用户

如果你使用的是”宝塔面板”, 那么在网站备份时, 最后的一个选项中, 有一个排除规则, 把 uploads 目录排除即可, 可以参考

wp-content/uploads

2.tar命令压缩

非宝塔用户, 或直接使用 tar 命令压缩, zip不做介绍

当前目录下有一个parent目录, 里面有a,b,c,d子目录, 需要排除c,d子目录, 打包后文件在当前目录parent.tar, 我们使用 –exclude=排除目录 , 排除目录每次一个, 压缩成功后, 解压查看, parent目录中仅有a,b, 说明已把c,d排除

tar --exclude=parent/c --exclude=parent/d  -zcvf  parent.tar.gz parent

本篇完,还有疑问?

加入QQ交流群:11500065636 IT 技术交流群