使用网络加速器和对象存储发布网站
服务器 网络加速器
Lastmod: 2025-01-21
Published: 2021-04-15

樱花云的网络加速器和对象存储之间增加了可以协作的功能,所以我决定尝试一下。

我们开始提供网络加速器与对象存储的联动功能

这篇博客是因使用 hugo 生成的静态网站,我想将这个网站通过对象存储和网络加速器进行分发。

目前我正在通过网络加速器与樱花的租用服务器进行分发。

创建对象存储的桶

有关费用等请参考此信息

手册请查看这里

  1. 从云主页选择对象存储
    云主页
  2. 选择 [网站] => [石狩第1网站]
    objstr1
  3. 选择 [桶] 和 [添加桶]
    objstr2
  4. 输入桶名称并点击 [添加]
    objstr3
  5. 选择 [权限] 并点击 [添加权限]
    objstr4
    创建访问对象存储的访问密钥
  6. 给权限命名
    此处将创建只允许读取 myblog 桶的权限
    objstr5
  7. 记下创建的访问密钥
    因为这个只允许读取的访问密钥稍后在网络加速器的设置中需要使用,请务必记下访问密钥ID和秘密访问密钥。
    objstr6
  8. 添加另一个权限
    此权限将用于将网站内容上传到对象存储,因此创建为 READ/WRITE(读写权限)。
    objstr7
  9. 这次使用时,也请务必记下访问密钥ID和秘密访问密钥。
    objstr5

上传内容

目前内容是通过 hugo 生成的,所以我要将 hugo 的 public 目录上传到对象存储。
当然,如果你是自己创建的 HTML,也可以上传。
※ 对象存储不是租用服务器,而是存储,因此 PHP 或 CGI 等程序将无法运行。

在这里,我将使用樱花云对象存储的手册中提到的 awscli 来进行上传。

工具的安装与设置

首先,安装 awscli。(这次是在 Ubuntu 20.04 上进行)

  • 安装 awscli
$ sudo apt install awscli
  • 配置 awscli
$ aws configure
AWS Access Key ID [None]: <访问密钥ID>
AWS Secret Access Key [None]: <秘密访问密钥>
Default region name [jp-north-1]: [ENTER]
Default output format [json]: [ENTER]

此处将使用之前创建的 READ/WRITE(读写权限)的访问密钥ID和秘密访问密钥。

  • 查看桶
aws --endpoint-url=https://s3.isk01.sakurastorage.jp s3 ls s3://myblog/

可以看到 s3://<桶名>/。
不过,最开始是空的,所以应该没有任何内容。

上传内容

awscli 有 sync 命令,因此我将使用 sync 来同步 hugo 生成的 public 目录中的内容。

  • 上传(使用 sync 同步)
$ aws --endpoint-url=https://s3.isk01.sakurastorage.jp s3 sync public s3://myblog/
  • 检查一下
$ aws --endpoint-url=https://s3.isk01.sakurastorage.jp s3 ls s3://myblog/
                           PRE assets/
                           PRE css/
                           PRE page/
                           PRE posts/
                           PRE tags/
2021-04-14 18:46:18        219 .htaccess
2021-04-14 18:46:19       1704 404.html
2021-04-14 18:46:19       6242 index.html
2021-04-14 18:46:19       9773 index.xml
2021-04-14 18:46:21       3721 sitemap.xml

确认上传成功了🎉

网络加速器的设置

这次我已经将 blog.masa23.jp 注册到网络加速器,并指定了樱花的租用服务器作为源服务器,现在我将其更改为对象存储。

  • 打开目标网站并进行 [设置]
    webaccel1

  • 将设置部分的源类型从 [网络服务器] 更改为 [对象存储]
    webaccel2

  • 输入 [桶名称]、[访问密钥ID] 和 [秘密访问密钥],然后按保存
    此处设置的是 READ(只读)访问密钥ID 和秘密访问密钥。
    webaccel3

  • 确认源类型已更改为对象存储并保存
    webaccel4

这样,通过网络加速器应该能分发上传到对象存储的内容。