腾讯COS托管静态网站

腾讯轻量云服务器到期了,续费价格离谱。而且原来放的几个网站都逐渐改为gitbook和hugo生成静态,改用COS来托管,10G空间存储一年只需要不到10元,流量几乎用不到几毛钱,总体下来更加划算,而且原来通过腾讯备案的域名也不会因为vps到期会被注销备案。

cos桶有上传工具,在本地生成后,可以通过工具批量上传文件,写一个bash脚本,将生成和上传合二为一,很是方便。

一、COS桶配置

  1. 配置权限:创建一个cos,权限为公有读私有写
  2. 配置静态网站:基础配置 > 静态网站,开启静态网站,同时设置索引文档指定首页html文件

    二、域名解析

  3. cos配置:在域名与传输管理 > 自定义源站域名页面,添加将要解析的域名,如:bytetoy.cn注意,添加域名时,在对话框中的源站类型选择静态网站源站
  4. 将以将www@均做解析,否则设置了解析后www和裸域名不会自动跳转,如:www.bytetoy.cn
  5. 配置域名解析,cos的解析方式为cname,在域名服务商添加cname解析。注意添加www@两种解析都设置,解析的cname的url,在cos添加域名后,会有一个url,如:bytetoy-12×××××54.cos-website.ap-shanghai.myqcloud.com

    三、文件上传

    cos本身可以上传文件,但是无法上传文件夹,手工逐个文件上传实在太慢了。 而且cos提供了多种上传工具,比如:coscli,coscmd,都是非常好用的,配置好了,上传非常方便。

  6. 创建cos桶密钥 在腾讯的访问密钥,生成SecretIdSecretKey,注意,ID和Key生成后要记好,生成后不支持查看,忘了只能再次生成一个,而且同时只能有两个密钥。

  7. 配置coscli配置文件
    • 下载COSCLI工具,然后运行./coscli config init逐步配置密钥;
    • 注意需要配置的几项为:Secret ID,Secret Key,Bucket Name,Bucket Endpoint,Bucket Alias,其他可以直接回车设置为空
    • 将coscli工具添加到PATH中,后面可以在任何目录下使用此工具
    • 生成的.cos.yaml文件,如下:建议生成一个后,再进行手工调整
      cos:
      base:
      secretid: iSUqIy×××××××××××××××××××××××
      secretkey: CpGQLdFPfJLZov×××××××××××××××××××××××
      sessiontoken: 3kNZR4×××××××××××××××××××××××
      protocol: https
      mode: ""
      cvmrolename: ""
      buckets:
      - name: bytet×××××××××××××××××××××××
      alias: bytetoy
      region: "ap-shanghai"
      endpoint: cos.ap-shanghai.myqcloud.com
      ofs: false
      - name: edu×××××××××××××××××××××××
      alias: eduez
      region: "ap-shanghai"
      endpoint: cos.ap-shanghai.myqcloud.com
      ofs: false
      - name: jzj×××××××××××××××××××××××
      alias: jzjyxy
      region: "ap-shanghai"
      endpoint: cos.ap-shanghai.myqcloud.com
      ofs: false
      
  8. 生成&批量上传
  9. coscli有很多好用的命令,配置好后,可以使用coscli ls列出全部桶列表
  10. coscli可以使用cp和sync进行上传和同步文件,写一个简单的shell脚本,生成和上传合二为一:
    #!/bin/bash
    echo "1. build web html"
    hugo
    echo "2. sync files to cos"
    #cp -R public/* /var/web/eduez
    coscli sync ~/web/eduez/public/ cos://eduez/ -r
    

results matching ""

    No results matching ""

    results matching ""

      No results matching ""