在 2.2.0 的大版本更新说明中偶然发现了本来我看不太懂的功能。* 文件存储支持配置为 S3 标准文件对象服务(阿里云 OSS、腾讯云 COS、华为云 OBS、七牛云等)
后来一百度,才知道这东西是降低储存成本的好东西。将数据储存和数据计算分开,可以完美解决因为数据增加导致的服务器容量不足的问题。
那么怎么配置呢? 官方教程是以阿里云 OSS 为例的,这里我用的华为的 OBS, 简单分享下搭建过程中需要注意的几点。
1.阿里云或者华为云开通标准文件对象服务 并创建桶(bucket)。
需要几个桶?4 个。 因为明道云的文件储存分别在 mdmedia, mdpic, mdpub, mdoc 四个文件夹内。对应的,在你的云储存里面建 4 个桶,桶名称建议保持一定的规则,例如我的就是 timedia, tipic, tipub, tidoc。都是用的标准配置 如下图:
2.安装标准对象服务浏览器,可视化管理你的桶。
华为云的叫 obs broswer plus, 阿里的叫 oss brower。 就在你创建桶的页面就可以看到这个工具的下载链接。
华为云 obs browser plus 支持直接用华为云账号登陆,简直是 easy.
3.给桶里面装上料。
如果你的明道云是初次搭建,你直接就上传对应的预制文件到对应的桶里面。预制文件,是一些基础文件,头现象啊,一些图标啊什么的。 预制文件包里面 mdoc 是空的,就不用上传了。 mdmedia 里面有个 emothion 文件夹,就上传到对应的 timedia 桶。 同理,将 mdpub 下面的文件夹上传到 tipub 桶,mdpic 下面的文件夹上传到 tipic 桶。
如果你的明道云像我一样,正在使用中。 那么就不能用预制文件包了。官方说的是
如果是对已在使用中的明道云系统做文件存储迁移,则预制文件使用 /data/mingdao/script/volume/data/storage/data/
目录下的资源)
好,那么问题是,对于小白,我们怎么把这个放在 CentOS 服务器上的全部依靠命令行的资源下载下来?
我推荐一个工具,SSH Secure File Transfer Client。
安装好后,是这样两个程序:
打开 SSH Secure File Transfer Client, 点击 quick connect, 在弹窗输入你的登录 ip 地址和账号(我的华为云主机这个账号是 root,其他的服务商可能不一样,去后台看就知道了)。
然后点击 connect,有个弹窗点击 yes。然后就是输入云服务器登陆密码。
登陆后就是下图:
然后需要点击
回到你的主目录。
好的,然后就按照*/data/mingdao/script/volume/data/storage/data/` 这个路径去找到资源。
他们长这样:
然后就把这四个文件夹从右边拖动到左边 你电脑本地目录就下可以啦。文件可能比较多,等待下载完成就可以啦。
然后再将下载到的文件上传到 对应的桶里。比如,我下载下来的 mdoc 文件夹里面有
这两个文件夹, 我就把这两个文件夹上传到 tidoc 桶里面。
好了,到此为止,我们的桶就准备好啦。
4.用 putty 或者你的云端管理后台,进入服务器创建一个叫 s3-config.json 的配置文件。
登陆后,先执行 cd /home
然后执行 VIM s3-config.json
然后将下面代码粘贴进去并按照你的桶名称修改,
{
"mode": 1,
"accessKeyID": "你的key",
"secretAccessKey": "你的密钥",
"bucketEndPoint": "你的endpoint,例如我的就是obs.cn-south-1.myhuaweicloud.com",
"bucketName": {
"mdmedia": "你的media桶名,例如我的就是timedia",
"mdpic": "你的pic桶名,例如我的就是tipic",
"mdpub": "你的pub桶名,例如我的就是tipub",
"mdoc": "你的doc桶名,例如我的就是tidoc"
},
"region": "你的地区,例如我的就是cn-south-1"
}
注意 region 你可以看下你的 endpoint,里面一般都有。 我不确定这个 region 如果填错有多大影响。
另外, 不能有"//固定值"之类的注释哈。
然后保存文件并退出。
5.挂载服务。
去修改 docker 的配置文件
执行:vim /data/mingdao/script/docker-compose.yaml
在 volumes 下面插入一行:- /home/s3-config.json:/usr/local/file/s3-config.json
官方文档说的宿主机路径,就是指 s3-config.json 的存放路径,当然这里我们是存放在/home 下面的。
然后保存退出。
6.重启服务。
cd /usr/local/mingdao
执行 bash ./service.sh restartall 重启服务。 也可以进入明道云点击头像进入系统配置,点击安装管理器, 再重启服务。
或者浏览器输入 http://你的地址:38881/settings 重启服务。
7.测试
用协作套件,再文件里面上传任意一张图片。 然后用你的 obs browser 或者 oss browser 去找 tipic 应该可以找到一个日期为今天的文件夹,然后图片就在里面。
大功告成。
特此感谢:金彪、认真起来、Anne 熊_敏 的大力支持和耐心讲解。