前言
在版本v24.6.2.1之后,有一个菜单"OSS配置",这个配置是干嘛用的呢?
阿里云OSS,或者说云盘,我觉得也可以当CDN使用,比如我们部署了一个网站,为了减少服务器的承载,可以把某些资源上传到云盘去,然后通过特定的url进行访问,这样网站的host的这个资源的Host就不一致了!
开始配置
我目前有一个项目是H5的,是使用VUE开发的,如果直接部署到服务器上,那么附带的js,css,img等将占用服务器很大的资源信息,当然为了解决这个问题,你也可以挂载CDN,但是CDN毕竟要挂载HTTPS,HTTPS证书你懂的!所以我采用的是动态的https证书,三个月更新一次那种,所以为了提高服务器的承载,就需要某些资源放到OSS中去!
VUE配置为使用history模式发布,对应的nginx中配置如下:
location /mobile {root /spider/static/smart/web/;index index.html index.htm;try_files $uri $uri/ /mobile/index.html;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
以上的配置知道意思吧,大概就是访问/mobile之后的资源,如果找不到则尝试访问/mobile/index.html
然后我们在vue的打包中配置如下信息:
"publicPath" : "https://xxxbuket.oss-cn-shenzhen.aliyuncs.com/mobile/"
参考资料可以看这里
https://cli.vuejs.org/zh/config/#publicpath
https://www.cnblogs.com/skura23/p/10825795.html
配置OSS信息
在菜单“基础信息”-“OSS配置”,打开后,点击创建,按照提示提交表单!
创建完成后,哪里使用?
找到需要上传到OSS的服务,在菜单“项目信息”-“服务列表”中打开后,找到如下配置(注意目前只支持静态文件模式的,dll要上传到OSS?干嘛用?)
填入刚刚创建的ID,这个后续会修改成下拉模式,如果不选择表示不上载到OSS中!
差量文件的上传
配置搞完后,那么问题来了,如何把这一次的更新文件上传到服务器和OSS中?
下载版本PasteSpiderFilev24.6.2.1以上:
先要登陆到PasteSpider系统中,然后选择对应的服务,对比文件,对比出本次需要差量更新哪些文件,然后点击“-同步至OSS-”,等操作完成后,如果你再次点击“对比差异”,你会发觉还是有差量文件,这是因为这个文件并没有上传到服务器的正式目录中,只是上传到了临时目录,如果要更新到正式目录,需要点击“–③同步文件–”。
如果配置了对应的通知,这时候将收到通知,告知说文件已经上传到OSS了!
对于VUE来说,每次必定升级的文件有
/index.html
/static/js/xxx.js
其他css等
我们都知道vue和传统的html的区别,可以理解成vue就index.html那一个文件作为入口的,后面的动作等都是在这个页面内调用的。
由于是更新,xxx.js每次都是新的,你只要保证更新的xxx.js的上传在index.html之前,然后不要把旧的版本删除,这样客户就可以直接过渡到新的版本!所以同步的策略是oss先升级,然后才是升级服务器的正式目录!
如果说我们的访问域名是https://www.xxx.com/mobile/index.html,如果oss的地址为https://www.oss.com,则用户每次访问/mobile/index.html的时候,访问将命中服务器对应文件,而其他的比如/mobile/static/js/xxx.js将命中的为OSS的对应文件!