如何使用 Yandex.Cloud 对象存储托管静态网站

嘿哈布尔!

在本文中,我将告诉您如何使用 Yandex 技术轻松简单地托管静态网站,即 对象存储.

最后,您将拥有一个可通过外部链接访问的网络托管网站。

如果您愿意,这篇文章将会很有用

  • 刚刚学习编程的初学者开发人员;
  • 开发者制作了一个作品集,并希望将其置于公共领域以向朋友和雇主展示。

关于我

最近,我正在开发一项 SaaS 服务,这是一种人们可以找到进行个人训练的运动教练的市场。 使用了Amazon Web Services堆栈(以下简称AWS)。 但我越深入这个项目,我就越了解组织初​​创公司的不同流程的细微差别。

我遇到了以下问题:

  • AWS 消耗了大量资金。 在企业公司工作了三年,我已经习惯了 Docker、Kubernetes、CI/CD、蓝绿部署等乐趣,并且作为一个有抱负的初创程序员,我也想实现同样的东西。 结果我得出的结论是AWS每月消耗3-300美元。 Kubernetes 竟然是最贵的,大概 400 块钱,最低工资一个集群一个节点。
    PS 一开始不需要这样做。
  • 接下来,考虑法律方面,我了解了法律 152-FZ,其中内容如下: “俄罗斯联邦公民的个人数据必须存储在俄罗斯联邦境内”,否则罚款,这是我不想要的。 我决定在上面的问题出现之前解决这些问题:)。

启发 文章 关于将基础设施从 Amazon Web Services 迁移到 Yandex.Cloud,我决定更详细地研究 Yandex 堆栈。

对我来说,Yandex.Cloud 的主要功能如下:

我研究了这项服务的其他竞争对手,但当时 Yandex 获胜了。

我已经向你介绍了我自己,所以我们可以开始谈正事了。

步骤 0. 准备场地

首先,我们需要一个要放置在互联网上的网站。 由于我是一名 Angular 开发人员,因此我将制作一个简单的 SPA 应用程序模板,然后将其发布到互联网上。

PS 谁了解 Angular 或了解其文档 https://angular.io/guide/setup-local, 去 步骤1.

让我们安装 Angular-CLI 以在 Angular 中创建 SPA 站点:

npm install -g @angular/cli

让我们使用以下命令创建一个 Angular 应用程序:

ng new angular-habr-object-storage

接下来,转到应用程序文件夹并启动它以检查其功能:

cd angular-habr-object-storage
ng serve --open

如何使用 Yandex.Cloud 对象存储托管静态网站

应用程序已创建,但尚未准备好托管。 让我们将应用程序组装成一个小型构建(生产),删除所有不必要的东西,只留下必要的文件。
在 Angular 中,您可以使用以下命令来执行此操作:

ng build --prod

此命令的结果是,应用程序的根目录中出现了一个文件夹 dist 与我们的网站。

作品。 现在让我们继续讨论托管。

步骤1。

让我们去网站 https://console.cloud.yandex.ru/ 并单击“连接”按钮。

注:

  • 要使用Yandex服务,您可能需要Yandex邮件(但这不确定)
  • 对于某些功能,您需要将钱存入您的个人账户(至少 500 卢布)。

注册并授权成功后,我们就在您的个人账户中。

如何使用 Yandex.Cloud 对象存储托管静态网站

接下来,在菜单左侧,您需要找到“对象存储”服务,我们将使用该服务来托管站点。

简而言之:

  • 对象存储是一种与亚马逊类似的 AWS S3 技术兼容的文件存储,它也有自己的 API,用于通过代码管理存储,并且与 AWS S3 一样,可用于托管静态站点。
  • 在对象存储中,我们创建“桶”(buckets),它们是我们文件的单独存储区域。

如何使用 Yandex.Cloud 对象存储托管静态网站

让我们创建其中之一。 为此,请在服务控制台中单击“创建存储桶”按钮。

如何使用 Yandex.Cloud 对象存储托管静态网站

创建桶的表单有以下几个字段,我们来看看:

  • 桶名称。 为了简单起见,我们将该项目称为 Angular - angular-habr-object-storage
  • 最大限度。 尺寸。 我们的赌注与我们的网站的权重一样大,因为该网站不是免费存储的,并且对于每分配的 GB,我们将向 Yandex 支付相当多的费用。
  • 访问读取对象。 我们将其设置为“公共”,因为用户必须接收我们静态站点的每个文件,以便可以在其上正确绘制布局、处理脚本等。
  • 访问对象列表和访问读取设置。 将其保留为“有限”。 为了将存储桶用作应用程序的内部文件存储,这是必要的。
  • 存储类。 将其保留为“标准”。 这意味着我们的网站将被频繁访问,因此组成该网站的文件将被频繁下载。 另外,该项目会影响性能和付款(插入链接)。

点击“创建桶”,桶就创建完成了。

如何使用 Yandex.Cloud 对象存储托管静态网站

现在我们需要将我们的网站上传到存储桶。 最简单的方法是打开附近的文件夹 dist 我们的网站,然后使用手柄将其直接拖到页面上。 这比单击“加载对象”按钮更方便,因为在这种情况下,文件夹不会传输,您必须按照正确的顺序手动创建它们。

如何使用 Yandex.Cloud 对象存储托管静态网站

因此,该网站被加载到存储中,因此我们可以为用户提供作为网站访问存储的机会。
为此,请在菜单左侧单击“网站”选项卡。

如何使用 Yandex.Cloud 对象存储托管静态网站

在将存储桶设置为站点的页面上,选择“托管”选项卡。 这里我们表示网站的主页,通常是index.html。 如果您有SPA应用程序,那么可能所有错误也会在主页上处理,因此我们也会在错误页面上指示index.html。

我们立即看到可以通过哪个链接访问我们的网站。 单击保存。

大约 5 分钟后,单击链接,我们看到我们的网站现在可供所有人使用。

如何使用 Yandex.Cloud 对象存储托管静态网站

感谢所有读到最后的人! 这是我的第一篇文章;我计划进一步描述其他 Yandex 服务以及它们与前端和后端技术的集成。

请在评论中写下您对了解其他 Yandex 服务或 Angular 在现代开发中的使用的兴趣。

来源: habr.com

添加评论