万恶之源
生命不息
昨天开了篇博客介绍 腾讯云 cos 的挂载和使用,其实我从几个月之前就开始这样玩了,但是一直玩的不爽。我是这样子玩的:
- 服务器挂载 Bucket 给 Owncloud 当存储盘。
但是我发现那样速度太慢了,简直不忍直视,经常超时出现 BUG,一方面因为当初 cos 不支持内网传输,另一方面服务器带宽不够用。
于是后来我就:
- 给 Owncloud 配置 Redis 缓存
- 挂载 Bucket 使用本地缓存
结果是好了那么一点点,但是效果不明显。因为它本身是网盘,数据目录属于 IO 密集的地方,再加上整个数据目录都相当于远程挂载上去的,走的都是 HTTP 协议,慢的根本没法玩,文件数量一多就完蛋,响应速度更不忍直视。
折腾不止
后来我就转变思路了,麻蛋,既然不能整个数据目录挂载上去,那我总可以把存放文件的那个目录使用 cos 吧。后来我发现我是真的傻逼了,Owncloud 在设置中可以直接添加 外部存储 :
可以添加的种类有如下:
因为 Bucket 挂载是挂到本地的,所以就选本地存储就可以了。添加完结果如下:
既把 Bucket 挂载到了网盘,又不影响其他目录和文件的读写速度,果然速度快了一倍不止。
。。。
我当时想,这样就可以了,反正就脚本定时备份点数据库文件到 cos,再从 Owncloud 放点图片进去当图床,还有博客的 md 文件备份。还麻烦的要命。真的不想玩了。
WebDav
后来
因为玩别的加上要上班,从那之后有一个多月都没有再管这个云盘,就偶尔用一下,大部分用途还是脚本自动备份网站和数据库上去。
这段时间我又在想,还有没有更 GEEK 一些的玩法。于是就有了今天这篇博客。
webdav 介绍
WebDAV (Web-based Distributed Authoring and Versioning) 一种基于 HTTP 1.1协议的通信协议。它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。
webdav 我是用过的,当初还用我本地的 IIS 搭过 webdav 给内网通的小伙伴分享一些爱情动作片。因为只能让我指定的人看到,而 IIS 支持多种认证方式,只有知道用户名密码的才能进,相对安全(此处应有666)。
而 Owncloud 在 9.0 以后的版本增加了 webdav 功能,所以这下就好玩了。在主页左下角:
使用
windows 和 mac 系统中都自带了 webdav 的 client,在添加之前你需要做一些准备工作:
开始菜单->运行->输入services.msc
->找到WebClient
服务右键属性->设置为自动并开启->确认。然后就可以添加你 Owncloud 的 webdav 了。
Windows 系统添加方式:
我的电脑右键 ↓
直接在文本框中输入地址点完成就可以 ↓
提示输入用户名密码(Owncloud 中的用户名密码) ↓
成功添加回到我的电脑可以看到已经有一个新的网络位置了 ↓
mac 用户添加方式:
打开 Finder->快捷键 commond+k->填写 URL ->连接->输入用户名密码(Owncloud 中的用户名密码)->完成。
这里我在我的 Owncloud 中开了个用户,嫌麻烦的可以先跳过前面的步骤拿我的账户试。
URL:https://c.oo0o.top/remote.php/webdav/
USER:guest
PASSWORD:123123
应用
配置完成你问我能干啥?
一句话足以表达:映射成功后,这个 Z 盘,就和你的 C、D 盘是一样的。相当于插了个移动硬盘吧,只不过是得有网。
加上 cos 已经支持了内网传输,服务器和对象存储在同一地域的话,速度还是比较可观的,详情见上篇博客:腾讯云COS更加极客的玩法
主要的应用场景和优势:
- 图床:可以直接在本地复制粘贴的图床(因为 Owncloud 中挂载了 Bucket),使用的话,复制粘贴进去,url+路径就可以用了。
- 不用插线、不用随身携带的移动硬盘。
- 不用安装乱七八糟的第三方客户端
- 备份软件,本地数据等,直接复制粘贴即可,再也不用打开浏览器/客户端再去操作了。
- 其实说白了就是把网盘和你的对象存储直接挂载到你自己的电脑上。
- Owncloud 网盘中存放的音乐视频等,本地直接打开。
- 写代码直接写到服务器,再也不用 ftp ,git 了,尤其适合个人开发者。
- 反正很多好处就是了。
最后
我发现人真的是一种矛盾的动物,就比如我,总想着这个事情还有没有更简单、更高效的做法,往往却要为这种想法牺牲更多的时间和精力。
其实搞了这么多,这些完全可以在 Owncloud 上直接操作,备份网站和数据库有脚本干,图床大不了就打开网页再上传,何况还有各种的 API 接口、SDK、插件可以使用,更何况阿里云的 OSS 有更多更丰富的开发者工具,就为了省那点钱非得用腾讯云的 COS,图的个啥。
虽然自己搭建个图床站点,或者下个客户端,或者直接使用网页,或者使用接口、SDK其实这些也都很方便。但是总还是和我想象中差那么一点点,还能不能更好用,更加的一劳永逸。
以上。
本文由 root 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Aug 5, 2018 at 01:42 pm
你好,请问一下把腾讯云cos挂载到外部存储是如何填写设置的?网上搜了一下没有相关的内容,您这个应该是头一份。
我是先用cosfs挂载到服务器,然后从owncloud中添加外部存储,直接填挂载的路径就可以了。设置上面有截图,你可以参考一下。
多谢,cosfs已经部署过了,但是在外部储存里,没有本地这个选项,是需要安装哪个插件吗?我用的10.0.2.1版本。
这个,我也不太清楚,没用过10以上的版本。你可以直接挂载到你owncloud的数据目录下面一个目录,或者用软连接吧。
UC震惊部部长