1. 人人都懂区块链首页
  2. 动态

IPFS教程:手把手教你在IPFS上部署个人网站

最新最详细的教程文,在IPFS上部署个人网站!

我想学习有关 IPFS 和 Web 3.0 的知识,所以我开始研究它,并尝试将我的站点上传到那里。以下是我一路走来学到的一些概念,以及我最终如何将我的网站托管在 tbking.eth 上。我将简要介绍一下 IPFS,以及为什么在那里托管静态内容是有意义的。如果您已经熟悉 IPFS,您可以跳过前面部分。

什么是 IPFS

星际文件系统是共享内容的分散网络。它具有非常简单但有趣的设计理念:建立一个在行星间工作的网络,这也是一个更好的跨地球通信网络。IPFS 是一个分散的网络,在该网络中,通过 BitTorrent 等多种方式连接对等方并共享文件。基本原理是,与传统的 Web 不同,IPFS 中的文件是根据文件的位置提供服务的,而传统的 Web 是根据文件的位置提供服务的。考虑一下此比较:Google 的隐私权政策被标识为托管在地址为:https://policies.google.com/privacy的 Google 服务器上的文件。政策内容无关紧要。这称为 location-addressing。另一方面,IPFS 通过文件的内容(使用文件的散列)来标识文件。假设您要阅读“XKCD #327 – Exploits of a Mom”。其IPFS地址为:https://ipfs.io/ipfs/QmZVjV5jFV7Jo4Hfj6WPyRnHCxf8kbadkqtQBco2gef64x/该地址不依赖于服务器的位置,而是散列。这称为 content-addressing。关心 XKCD 的人都可以托管它。这使得断开的链接不太可能,这也是IPFS的目标之一。IPFS 文档很好地解释了这些概念。我将它们推荐给任何想深入研究的人。

在 IPFS 上托管

在 IPFS 上部署静态内容(例如个人网站)很容易。我在下面列出的步骤可用于任何文件,例如纯 HTML 文件,由静态网站生成器(如 Jekyll,Hugo,Hexo 和 Gatsby)生成的网站,甚至是媒体文件。因此,让我们开始吧。添加文件IPFS 桌面如果已安装并正在运行 IPFS Desktop,则可以使用常规文件选择器添加文件。只需导入包含您静态网站内容的目录即可。

IPFS教程:手把手教你在IPFS上部署个人网站

右键单击新添加的内容,然后选择 Copy CID。打开以在网上查看我们的文件:https://ipfs.io/ipfs/

IPFS CLI

IPFS CLI 允许使用 add 子命令添加文件和目录。

IPFS教程:手把手教你在IPFS上部署个人网站

最后一行打印的哈希是整个目录的 CID,因此也是我们网站的 CID。我们可以看到托管在https://ipfs.io/ipfs/QmeUG2oZvyx4NzfpP9rruKbmV5UNDmTQ8MoxuhTJGVZVTW/上的示例网站。提示:在您的网站中使用相对链接非常重要,因为IPFS网关的URL类似于<gateway>/ipfs/<cid>/file.ext。

PIN

在最后一节中,我们添加的文件到我们的 IPFS 节点网络找到。这就是 IPFS 网关能够解析它并将其显示在浏览器中的原因。但是,一旦关闭 IPFS 守护程序,该站点很可能将无法访问。即使在 IPFS 上请求了某些内容之后,接收节点也成为该内容的主机,但是在 12 小时后将对这些内容进行垃圾收集。如何在没有服务器的分散式网站中全天候服务您的网站?在 IPFS 上 Pin 一些内容的节点将永远托管它(直到取消固定它)。有诸如 Pinata 之类的 Pin 服务,可将文件 Pin 在其IPFS节点上。这样,网站将始终可用。在 Pinata 中,如果内容已经上传到 IPFS,则可以上传文件或仅提供其哈希值。这是我 Pin 我们上面上传的示例网站的方式。

IPFS教程:手把手教你在IPFS上部署个人网站

提示:最好使用多种 Pin 服务固定您的站点,以实现冗余。

自动化部署

您可能已经注意到,使用 IPFS 非常容易。我要说的是,这比处理我们使用的传统网络要容易。但是,每次您要更改文件时都必须重复此过程,这不是很理想。有像 Fleek 这样的工具,可以帮助自动完成上面列出的所有步骤。Fleek 就像 Travis 或 CircleCi 一样用于 IPFS 部署。您可以将其 Github 帐户与其关联,并使用 Github 挂钩,Fleek 将在每次推送至 Github 存储库时触发部署。他们还 Pin 部署的所有内容。因此,我使用 Hexo 生成了此博客,并且能够在 Fleek 仪表板本身中添加一个构建步骤,因此无需生成 HTML 并将其推送到我的存储库。这是我使用的构建命令:

是的,我需要自己安装子模块。默认情况下,他们还没有这样做。检查一下,这非常容易。

链接到域

因此,现在我们可以启动并运行我们的网站,但是IPFS上的内容不像传统网络上那样容易查找。我的网站可以在https://tarunbatra.com上找到。但是在IPFS上,可以通过https://ipfs.io/ipfs/QmTPTa1ddoSkuakaW56SaL9dicbC71BbwfjRbVjasshCXs/访问当前版本。您看到问题了。这不是人类可读的。每次更新后,CID都会更改。有两种解决方案:DNSLink使用 DNSLink,您可以将一个普通域指向 IPFS 内容。它可以很容易地设置在 Fleek 上。我已经将 IPFS .tarunbatra.com 指向了使用 Fleek 的 IPFS 版本,您将能够打开这个站点。IPNS(星际命名服务)也存在,它类似于 DNSLink,但现在要慢得多。

以太坊名称服务

ENS 是一个以太坊区块链上的命名服务,它使用智能合约购买域名并为其设置解析器记录。由于涉及以太坊,因此您需要使用 MetaMask 来使用它。

IPFS教程:手把手教你在IPFS上部署个人网站

我购买了该域,tbking.eth 并将其指向该站点的 IPFS 内容。每当我更改网站内容时,仍需要对其进行更新。我不确定是否有任何自动化的方法。但是,截至目前,Fleek 正在致力于 ENS 域集成。IPFS 非常适合作为的存储层 Web 3.0。

IPFS教程:手把手教你在IPFS上部署个人网站

End

非常感谢您对 IPFS&Filecoin 项目的持续支持。我们很高兴继续与您一起,为人类信息建立一个强大的,去中心化和高效的基础。

#专栏作家#

本文来自人人都懂区块链专栏作家filcloud,公众号:filcloud。帮你透视浩瀚的IPFS数字世界。

本文来自用户投稿,作者:FilCloud 。
转载/合作/报道请联系:readblocks@163.com。
本文观点仅代表原作者个人观点,绝不代表人人都懂区块链官方赞同其观点或证实其描述。
本站提醒:投资有风险,入市须谨慎,请理性看待区块链和比特币等虚拟货币,切实提高风险意识。本内容不作为投资理财建议。

发表评论

登录后才能评论
新手交流群
新手交流群
买比特币
分享本页
返回顶部