场景任务,

使用七牛云存储分发一个静态网站分几步

作者 10/28, 2017 · 7 分钟读完
分享本文

(Photo by Igor Miske on Unsplash)

通常只有一个静态页面或者页面数量不太多,不需要频繁更新的网站,可直接使用云存储进行分发;常规方式部署需要购买云主机、进行服务端部署、域名绑定和 CDN 分发等操作,维护复杂,使用云存储分发,直接支持域名绑定、无服务器端依赖、自带 CDN 属性,是很好的静态网站部署方案。


以下以七牛云存储为例完成一个静态网站的分发。已部署的线上网站为: docs.workbene.com,假设包含多个页面和资源文件的情况。单个页面或者只是极少数文件,可以直接通过七牛云存储的文件管理页面就可以完成。

1. 安装使用 qshell 和 qrsctl 脚本

因为之前使用过 qrsync,现在网站生声明已废弃,看到新工具:命令行工具(qshell) 和命令行辅助工具(qrsctl) 时,一下子没看清区别,比较一下文档 qshell 功能更全面,qrsctl 仅支持基本操作,因此使用 qrsctl 并不能用于本次部署全部操作,qrsctl 仅支持上传单文件,qshell 支持文件夹批量上传,使用方式差别不大,建议 qrsctl 也可以废弃,因为一开始只想挑一个简单的用一下,就容易碰壁浪费时间。建议同时使用 qrsctl 和 qshell,下面细说。

2. 添加配置文件

使用 qshell 需要单独配置文件,需要先登录网站获取 AccessKey、SecretKey 信息,这里建议同时下载 qrsctl,命令行下直接登录账号并查看 AccessKey、SecretKey:

  1. 使用 qrsctl 登录账号: ./qrsctl login <User> <Passwd>

  2. 登录成功后查看 ak、sk: ./qrsctl appinfo defaultdefault 为初始的 App 名称,一般不需要修改)

  3. 创建一个 Bucket: ./qrsctl mkbucket2 <Bucket> (已创建可跳过)

  4. 设置 qshell : ./qshell account <AccessKey> <SecretKey>

命令行工具(qshell) 里面,批量上传使用 qupload 参数,需手动添加 配置文件,注意修改 rescan_local 参数为 true,默认配置为同步大量文件场景,不会同步新增文件,开启后可增量上传。

3. 开始上传

  1. 推荐使用上传命令: ./qshell qupload -success-list success.txt upload.conf

  2. 以上命令添加了 -success-list 参数,将上传文件输出到 success.txt ,在增量上传后需要更新文件,可使用以下命令刷新缓存:

./qshell cdnrefresh success.txt

最后,在 Web 管理后台对应 Bucket 下开启 默认首页设置 选项,绑定域名即可正常访问。

总结

在部署 docs.workbene.com 时,正好赶上七牛云存储 https 访问波动,导致缓存无法刷新,Web 后台也不能正常删除文件和刷新缓存,最后两天才搞定。写完这个操作引导,希望能帮助其他人 10 分钟搞定部署,有任何疑问请联系我微信:xinzhixiang,希望能回答你的疑问。

开始订阅
每周发送内容更新汇总到你的邮箱(随时退订),关注微信公众号「团队头条」(ID:teamxtt)获取每日更新。