调教Chevereto(三)——给Chevereto图床上全套腾讯云服务

很早就有这个思路了,但是一直没有去实践,昨天无聊操作了一把,挺好玩的。

思路大概是这样的:

用户打开网站上传图片,服务器自动通过内网把上传的图片同步到COS,然后直接返回CDN的链接。PS:后台需要设置CDN的。具体看这:给Chevereto图床套上阿里云CDN

思路写的这么不清楚这篇文章注定很乱,没办法。。。

首先你需要有一台腾讯云的服务器,然后创建一个跟服务器同区域的对象存储COS。COS再绑定一个CDN域名供Chevereto使用。

Chevereto后台设置:

仪表盘-设置-外部服务-CDN,选择启用,然后填你的准备给Chevereto准备的CDN域名。

腾讯云对象存储设置:

基础配置-回源设置:填写你的Chevereto图床域名

基础配置-跨域访问CORS设置

CDN这步自己搞定。

这些设置ok了之后,那就是服务器上的配置了。

安装本地同步工具——cos_sync(只说Linux的,Win边玩去)

wget https://mc.qcloudimg.com/static/archive/1f8476f3097d0e4270b6988d7bd65a06/cos_sync.zip

unzip cos_sync.zip && cd cos_sync

配置说明

配置文件位于工具包目录/conf/config.json:

{
"appid" : "xxxxxx",
"secret_id" : "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"secret_key" : "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"bucket" : "xxxxxx",
"timeout" : "60",
"thread_num" : "20",
"delete_sync" : "1",
"daemon_mode" : "0",
"daemon_interval" : "60",
"enable_https" : "0",
"region" : "gz",

"local_path" : "/home/test/data",
"cos_path" : "/mysyncfolder"
}

划重点:

其中的timeout:300   daemon_mode:1   daemon_interval:1  cos_path:/

名称 描述 有效值
app_id 需要进行操作的 APPID,可从控制台获取 APPID 数字
secret_id APPID 对应的秘钥 ID,可从控制台获取 字符串
secret_key APPID 对应的秘钥 Key,可从控制台获取 字符串
bucket 指定要同步的 bucket 名称, 需要提前在控制台建立,参考 创建 Bucket。 字符串
timeout 连接 COS 的超时时间,在网络状况不佳的情况下可以增大该值。
单位: 秒
数字
thread_num 并发的线程数,增大该值可以提高并发度,以及更快的上传速度。减小该值,会降低上传速度。 数字
delete_sync 删除本地文件时同步删除 COS 文件。
1:本地删除时同步删除远程文件;0:忽略本地已删除文件
数字
daemon_mode 后台进程模式运行。
1:循环运行同步工具; 0:运行一次后退出。
数字
daemon_interval 后台进程模式下,检查本地文件变化的时间间隔。
单位:秒
数字
enable_https 启用 https 进行传输。
1:使用 https | 0:使用 http
数字
region bucket所在的区域。如华北天津(tj), 华东上海(sh), 华南广州(gz) 字符串
local_path 需要同步的本地绝对路径。Windows 路径需用双斜线 \ 分割。
Linux 范例:/home/user/dir
Windows 范例:C:\document\dir
字符串
cos_path 同步到 COS 的目的路径,需以 / 为结尾以表示目录,根目录为 /。 字符串

 

执行同步工具

sh start_cos_sync.sh

执行完成后,会输出创建和删除成功与失败的统计,以及全部执行的时间。

结尾

这样之后呢,从图床上传一个文件到服务器,服务器会每秒跟COS同步一次文件,然后就会把你刚刚上传的文件同步过去,然后你设置的CDN就能瞬间访问到这个文件的URL了(如果不这样,那么就要回源,回源要耗费时间,而且腾讯云不支持HTTPS回源)

通俗点讲,就是说图片上传之后,图床提示上传成功,那么返回的文件URL不是你服务器的,而是COS的外链。因为服务器瞬间跟COS同步了,你这一上传,COS那边就有你的文件了,那么这个时候你通过CDN的链接是可以访问到的,如果没同步,那么你访问图片的CDN链接是访问不到的,他会回源。

这么说应该懂了吧,原谅我表达能力不行。。。

本来想把DEMO放出来的,但是想想算了~~~

 

 

更多请看:腾讯云

6 条评论

发表评论

*