我的IPFS托管设置

文件托管IPFS网络经验分享;
前车之鉴后车之师,精细操作指南→

我的IPFS托管设置 IPFS 第1张

本文由IPFS原力区收集译制,版权所属原作者

 
Emiel Kollof:随做一些IPFS托管操作,easy…
 
介绍
 
我的个人网站现在完全托管在IPFS上本文将向展示我如何操作的,以及我如何通过IPFS发布它。请注意,这些是手动步骤,我正在研究如何实现这些操作的自动化,这样我就可以编辑、提交和推送这些内容,并且可以在不进行思考的情况下自动完成所有这些操作。
我之前的设置使用了brilliant forestry.io,但缺点是它不能与Gitea兼容,我现在用Gitea代替GitHub。
 
所以,现在我仅手动操作并没有太多工作量继续看看是怎么做的。
 
但首先,让我们讨论一下我正在使用的工具。
 
使用的工具
 
Hugo
 
我使用hugo渲染站点。Hugo是一个静态站点生成器。它将把标记页面转换成漂亮的HTML。此外,所有页面都是静态的,因此不必担心跨站点脚本、数据库注入攻击或任何其他代码的问题一切都是静态的。
 
另外,静态站点的另一个好处是速度快。不需要处理页面,不需要等待数据库查询,也没有什么会妨碍性能。所有需要做的就是为的页面服务。不多也不少。而且,它可以放在potato上,而且速度仍然很快这是一个双赢。
 
唯一的缺点是Hugo需要专门研究一下,如果想制作自己的东西,需要学习Hugo的预处理语言,而且有许多主题可供选择和修改。但你要准备好在相当长的一段时间内修修补补
当然也有其他站点生成器,比如Jekyll,但是Hugo的速度更快,也更容易设置(Hugo只有一个二进制文件,Jekyll有一个Ruby deps)。
CloudFlare IPFS网关
 
我在CloudFlare上托管这个网站这样做的好处是,可以免费使用CloudFlare的基础设施,它又好又快。它还处理DNS到IPFS网关,所以没有IPFS的人仍然可以访问的内容。
 
我的方法,的域名也应该托管在Cloudflare上,因为我们将在更新网站时使用Cloudflare的API对DNS进行更改。
 
Pinata 和/或 Infura
 
Pinata和/或Infura是将的站点固定在IPFS上的服务Pinning是确保数据不会从IPFS中删除,并且它将保持数据的活动性,以便人们可以访问它,即使自己的IPFS节点处于脱机状态。
 
可以在自己的IPFS节点上托管的网站,但这只能在的IPFS节点上进行。像Pinata或Infura这样的固定服务可以确保它始终处于活动状态,即使离线。
 
Pinata最多免费1GB的固定数据,infura是完全免费的,但有100MB空间的限制。当你的网站刚刚起步的时候,infura是一个很好的选择,但是当你成长的时候,你应该谨慎的选择pinata。不过,它便宜
 
IPFS问题部署
 
在呈现静态站点之后,可以让ipfsdeploy将站点上传到infura和/或pinata以固定它,它将更新cloudflare DNS以使_dnslink记录指向网络上正确的IPFS哈希。
 
把这些组合起来…
 
Cloudflare设置
 
首先,确保的域名DNS托管在cloudflare上的DNS迁移到Cloudflare非常简单,根据的注册商的不同,这不会花费几个小时的时间。大部分时间都是等待DNS的处理,所以在开始之前要确保TTLs较低完全转移之后可以再增加它们。最坏的情况是,将域名服务器切换到Cloudflare可能需要一天的时间所以准备是值得的。
 
如果已经在Cloudflare上,那么已经设置好了。获取Cloudflare API密钥并将其保存到某个地方,需要它的时候。可以在的帐户设置中找到它。
 
获取Pinata帐户(可选)
 
如果你打算使用Pinata,去建立帐户。需要这个来获取另一个API密钥,我们将使用它来固定我们的站点。
 
确保你的网站是兼容的
 
好的,让我们假设已经准备好了一个hugo网站(那里有很多教程),你花了一些时间使它变得非常漂亮,并且想要摆脱的web服务器。
 
Ok,开始
 
首先,打开config toml 确保这些线在里面:
canonifyurls = true
relativeurls = true
 
这将确保静态站点中的所有链接都是相对的,并且不会指向其中有https://的链接,这可能会破坏内容。
 
另外,现在是将站点提交/推送到git存储库的时候了,现在假设已经完成了此操作(而且,配置git超出了本文的范围)。
 
配置ipfs-deploy
 
我们在设置DNS之前首先执行此操作,因为我希望在使用Cloudflare IPFS网关指向它之前在IPFS中托管内容。
 
在hugo项目的根目录中,需要一个.env-file。此文件包含我们需要能够一次性完成这一事情的所有密钥和凭据。
 
重要
 
在将站点提交/推送到Git repo之前,请确保该文件位于.Gitignore中。你不希望你的Cloudflare API密钥遍布github,所以:
 
$ echo “.env” >> .gitignore
$ git add .gitignore
$ git commit .gitignore
$ git push
.env文件应该是这样的:
 
# pinata credentials  IPFS_DEPLOY_PINATA__API_KEY=<key> IPFS_DEPLOY_PINATA__SECRET_API_KEY=<secret key> 
 # cloudflare credentials  IPFS_DEPLOY_CLOUDFLARE__API_EMAIL=<cloudflare login e-mail> 
IPFS_DEPLOY_CLOUDFLARE__API_KEY=<cloudflare global api key>  # cloudflare dns info  IPFS_DEPLOY_CLOUDFLARE__ZONE=<domain name> 
IPFS_DEPLOY_CLOUDFLARE__RECORD=<domain name
(注意,pinata条目是可选的,当第一次开始时,infura pinner现在可能很好)
 
让我们运行这个:
我的IPFS托管设置 IPFS 第2张
(视频播放,阅读原文)
 
它似乎已经把我的网站发布到IPFS哈希QmVEnhXTRcKHjkQXBVPiDnwCeYS48UZnz9bib5s3sFihEe
 
现在我们可以做一些奇特的事了。
 
还记得我们将CloudFlare API密钥放入了.env-file让我们确保地球上的其他地方不需要记住那个那可怕的的哈希
 
登录的Cloudflare面板(可能已经登录),然后转到域的DNS设置。现在需要执行以下步骤:
  • 删除指向主域的AAAAA记录。不要删除的子域名,仅针对主要主机条目。
  • 为“@”(域本身)创建一个新的CNAME记录,该记录指向cloudflare-ipfs.com
好的,但你的域名现在处于不确定状态。我们来解决这个问题:
我的IPFS托管设置 IPFS 第3张
(视频播放,阅读原文)
 
仔细查看生成的IPFS哈希值……
 
他们是一样的,你知道为什么吗?数据没有改变,这就是原因。你可以随意跑ipfs-deploy。在进行更改之前,什么都不会改变。
 
好的,现在DNS已全部设置完毕,现在让我们告诉Cloudflare的IPFS网关。
 
请访问:https//www.cloudflare.com/distributed-web-gateway/
 
该页面的底部是一个表单。在那里输入的域名并点击“提交”。
 
就是这样。可能需要几个月的时间来对齐,但现在你的域名和你的网站都连接上了IPFS。留意本网站:
 
elrond:img:% host -t TXT coolvibe.org | grep dnslink                         <master ✗> coolvibe.org descriptive text "dnslink=/ipfs/QmVEnhXTRcKHjkQXBVPiDnwCeYS48UZnz9bib5s3sFihEe"
 
现在,在我发布之后,它会有所不同,但仍然可以访问此站点的先前版本直到我取消它。
 
更新的网站
 
的域名现在存在于IPFS中,并且想要在的hugo博客中添加新帖子。你必须再次经历整个rigamarole?
 
不,如果不是小菜一碟,我不会这样做。
 
想要更新时,只需创建一个新帖子并重新生成站点。更新站点,就是从的hugo root 运行ipfs-deploy -p pinata -d cloudflare,它将会更新。它将通过IPFS网络快速传播,并且几乎可以立即生效。
 
结论
我一直在慢慢地把我的网站从wordpress转移到Hugo和IPFS上。这不是一件容易的事。但这是值得的。它节省了成本,而且非常快。我希望你能从中得到启发和帮助。我希望看到更多人查看IPFS。
—全文完—
本文由IPFS原力区编译,原文链接:
https://coolvibe.org/posts/my-ipfs-hosting-setup-hugo/ 我的IPFS托管设置 IPFS 第4张
【IPFS原力区】
价值观:价值 共建 共享 荣耀   总部位于上海,聚集基于分布式网络&存储的众多技术大咖和爱好者,深耕基于 IPFS 的商业生态建设和社区发展。   每周二举办“分布式存储网络”主题沙龙,聚集了众多技术大咖和 IPFS 爱好者,通过持续输出全面、精细、优质的IPFS咨询和技术支持,将生态中的爱好者转化为IPFS支持者和参与者,共建IPFS生态的健康发展。

我的IPFS托管设置 IPFS 第5张

本文来自https://coolvibe.org/posts/my-ipfs-hosting-setup-hugo/,经授权后发布,本文观点不代表IPFSER立场,转载请联系原作者。

发表评论

登录后才能评论

联系我们

在线咨询:点击这里给我发消息

邮件:ipfsforce@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code