您现在的位置:CDN高防 > 服务器租用帮助 > 如何在IPFS上部署网站?

如何在IPFS上部署网站?

发布时间:2021-04-03 08:37:01   文章来源:CDN高防   作者:钱佳光
本文由钱佳光编辑,关键词:IPFS,IPFS网站,IPFS托管,标题:如何在IPFS上部署网站?,主要内容讲解的是:什么是IPFS?如何在IPFS网络上托管?怎么样把我们的网站部署在IPFS之上,或者是如何在IPFS之上部署静态内容(例如个人网站)呢?
什么是IPFS?
IPFS到底是什么呢?为什么当我们提到Web 3.0,我们就不可避免地提到IPFS呢?
IPFS(星际文件系统)是一个能够共享内容的分布式网络,他的设计并不复杂,但却非常有趣。而我们之所以称IPFS为星际文件系统,因为IPFS的目标是建立一个能够在行星间工作的网络、一个能够更好的跨地球的通信网络。
如何在IPFS上部署网站?
IPFS是一个分散的网络,在该网络中,通过BitTorrent等多种方式连接对等方并共享文件。基本原理与传统的Web并不同,IPFS中的文件是根据文件的内容提供服务的,而传统的Web是根据文件的位置提供服务的。
例如,谷歌将隐私权政策文件托管在地址为:
“https://policies.google.com/privacy"的 Google服务器上,在该地址中,政策内容无关紧要,因此这是根据域名寻址的,我们将这称为location-addressing(域名寻址)。
但是,IPFS是使用文件的哈希值通过文件的内容来标识文件的。假设您要阅读:“XKCD#327—Exploits of a Mom”。那么,其IPFS地址为https://ipfs.io/ipfs/QmZVjV5jFV7Jo4Hfj6WPyRnHCxf8kbadkqtQBco2gef64x/。
关心XKCD的人都可以托管它。这使得断开的链接不太可能,因为只要有一节点存储了数据,IPFS网络就不可能出现"404"错误,我们将这称为content-addressing(内容寻址)。
如何在IPFS网络上托管?
当我们打开一个浏览器,很明显,网址都是以HTTP开头的,也就是说,我们现在的网站是托管在HTTP超文本传输协议之上的。
如何在IPFS网络上托管?
那么,我们该怎么样把我们的网站部署在IPFS之上,或者是如何在IPFS之上部署静态内容(例如个人网站)呢?
接下来,我会列出可用于任何文件,例如纯HTML文件,由静态网站生成器(如Jekyll,Hugo,Hexo和Gatsby)生成的网站,甚至是媒体文件的部署方法,因此,让我们开始吧。
IPFS 桌面
如果您已安装并正在运行IPFS Desktop,则可以使用常规文件选择器添加文件。只需导入包含您静态网站内容的目录即可。
如何在IPFS上部署网站?
IPFS CLI
IPFS CLI允许使用add子命令添加文件和目录。
如何在IPFS上部署网站?
最后一行打印的哈希是整个目录的CID,因此也是我们网站的CID。我们可以看到托管在
“https://ipfs.io/ipfs/QmeUG2oZvyx4NzfpP9rruKbmV5UNDmTQ8MoxuhTJGVZVTW/”上的示例网站
提示:在您的网站中使用相对链接非常重要,因为IPFS网关的URL类似于/ipfs//file.ext。
Pinning
在最后一节中,我们添加的文件可以在我们的 IPFS节点网络中找到,这就是IPFS网关能够解析它并将其显示在浏览器中的原因。
但是,一旦关闭IPFS daemon,该站点很可能将无法访问。即使在IPFS上请求了某些内容之后,接收节点也成为该内容的主机,但是在12小时后将对这些内容进行收集。那么,我们如何在没有服务器的分散式网站中全天候备份您的网站?
Welcome,Pinning
在IPFS上固定一些内容的节点将永远托管它(直到取消pinning它)。诸如Pinata之类的固定服务,可将文件固定在其IPFS节点上。如此一来,网站将始终可用。
在Pinata中,如果内容已经上传到IPFS,则可以上传文件或仅提供其哈希值。这是我固定我们上面上传的示例网站的方式。
提示:最好使用多种固定服务固定您的站点,以实现冗余。
如何在IPFS上部署网站?
自动化部署
您可能已经注意到,使用IPFS非常容易,至少比处理我们使用的传统网络要容易。但是,每次您要更改文件时都必须重复此过程,这并不是很方便。因此,我们可以借助Fleek这样的工具,可以帮助自动完成上面列出的所有步骤。
Fleek就像Travis或CircleCi一样用于IPFS部署。您可以将其Github帐户与其关联,并使用Github挂钩,Fleek将在每次推送至Github存储库时触发部署。他们还固定部署的所有内容。
此外,我使用Hexo生成了此博客,并且能够在Fleek本身中添加一个构建步骤,因此无需生成HTML并将其推送到我的存储库。这是我使用的构建命令:
git submodule update --recursive --init && npm i && npm run build
是的,我们需要自己安装子模块,但是不用担心,因为这是非常容易的。
如何在IPFS上部署网站?
链接到域
因此,现在我们可以启动并运行我们的网站,但是IPFS上的内容不像传统网络上那样容易查找。传统的网站可以在https://tarunbatra.com上找到。但在IPFS上,我们可以通过:
“https://ipfs.io/ipfs/QmTPTa1ddoSkuakaW56SaL9dicbC71BbwfjRbVjasshCXs/”访问当前版本。
你学会了将网站部署在IPFS之上的小技巧了吗?如果你对此依旧不是特别熟悉,天 下 数 据小编推荐你可以先借助Fleek这样的工具哦。
本文tag: IPFS IPFS网站 IPFS托管
本文链接:https://www.cdngaofang.com/news/3186.html
下一篇:Filecoin挖矿封装到底是怎么回事?
上一篇:Filecoin挖矿的质押币和GAS费去了哪?

相关推荐:

随机推荐:

QQ:317197518

电子邮箱:317197518@qq.com

公司业务:我们提供海内外服务器租用,公司产品丰富:独立服务器、虚拟主机、ADSL拨号、VPS云主机等,价格便宜,欢迎选购

公司地址:重庆市渝北区赛迪路2号金山商业中心A座6F

CDN高防:一家全国领先的真实硬防服务器的提供商
Copyright 2018-2020 © www.cdngaofang.com All Rights Reserved.

分享按钮