我曾经和大家分享如何基于IPFS创建个人网站,今天我再和大家分享一篇官方公布的这方面的教程。 对于希望了解IPFS的用户而言,最好的办法就是创建一个最简单的网站,它仅仅只包含一个网页,然后把这个网站托管在IPFS上。 下面所有的操作都在Linux操作系统中,大家可以选择常用的Ubuntu系统。 我们首先创建这个网站。 假设我们已经编辑好了一个静态网站,这个网站所在的目录是“mysite”。为了将这个网站发布出去,我们需要安装IPFS并运行IPFS的精灵进程。 我们运行如下命令: $ ipfs daemon 接下来将我们网站的目录加进来。运行如下命令: $ ls mysite 运行上面这条命令下,我们会看到这个目录下包含文件,在我们的例子中,该文件如下: img index.html 接着运行下列命令: $ ipfs add -r mysite 我们会看到如下输出: added QmcMN2wqoun88SVF5own7D5LUpnHwDA6ALZnVdFXhnYhAs mysite/img/spacecat.jpg added QmS8tC5NJqajBB5qFhcA1auav14iHMnoMZJWfmr4k3EY6w mysite/img added QmYh6HbZhHABQXrkQZ4aRRSoSa6bb9vaKoHeumWex6HRsT mysite/index.html added QmYeAiiK1UfB8MGLRefok1N7vBTyX8hGPuMXZ4Xq1DPyt7 mysite/ 上面这些长串的字符串都是哈希值,最后一行的输出中的哈希值是我们要记录下来的。我们将之称为$SITE_CID。 我们可以在本地进行一个简单的小测试访问这个网站------在网页浏览器中输入地址: http://localhost:8080/ipfs/$SITE_CID 如果想在另外一个IPFS节点访问这个网站,我们可以在那个节点上打开浏览器,并在地址栏输入: http://gateway.ipfs.io/ipfs/$SITE_CID 不过在上面的操作中,有一个比较麻烦的地方就是要记录下哈希值。我们还可以用其它的方法操作,不用记录哈希值。 要避免使用哈希值,我们就要用到DNS。 假设我们已经有一个域名“your.domain”并且能打开域名的注册网站管理这个域名,接下来我们创建一个DNS?TXT记录(DNSLink),这条记录的键为“your.domain”,值为“dnslink=/ipfs/$SITE_CID”。其中的$SITE_CID为上面我们记录下的哈希值。 当我们创建了该记录后能够通过运行下列命令找到它: $ dig +noall +answer TXT your.domain 上述命令运行完,我们会看到下列输出: your.domain. ? ? ? ? ? ?60 ? ? ?IN ? ? ?TXT ? ? "dnslink=/ipfs/$SITE_CID" 现在我们能在本地的浏览器中输入下列地址看到我们的网站: http://localhost:8080/ipns/your.domain. 我们在另外一个IPFS节点的浏览器中输入下列地址能看到我们的网站: http://gateway.ipfs.io/ipns/your.domain. 当我们更新了我们的网站后,如果想发布更新后的网站就需要更新DNS?TXT记录中的$SITE_CID值。 如果想避免这个繁复的操作就要用到IPNS-----星际命名系统。 细心的读者可能已经注意到了,在上面的地址中就已经出现了“IPNS”。 IPNS能让我们在不更新DNS记录的情况下随时发布我们更新的网站。 运行下列命令激活IPNS: $ ipfs name publish $SITE_CID 命令运行后,会看到如下输出: Published to $PEER_ID: /ipfs/$SITE_CID 上面的“$PEER_CID”我们也要记录下来。为了验证这个$PEER_CID是否有效,我们可以仿效前面的步骤在本地和其它的IPFS节点进行验证。 在本地浏览器地址栏输入: http://localhost:8080/ipns/$PEER_ID, 在另外的IPFS节点输入: http://gateway.ipfs.io/ipns/$PEER_ID 接下来我们回到域名注册网站,打开DNS管理工具,将DNS TXT记录中的“your.domain”改为“dnslink=/ipns/$PEER_ID”。 我们再在本地浏览器地址试试http://localhost:8080/ipns/your.domain或在另外的IPFS节点中的浏览器地址试试http://gateway.ipfs.io/ipns/your.domain. 现在我们在IPFS/IPNS上有了自己的网站,但是用户还是不能通过http://your.domain.访问。 要解决这个问题,我们首选回到DNS的管理界面,增加一条记录,该记录的键为“your.domain”,它的值为ipfs精灵进程的IP地址。如果我们不知道这个精灵进程的IP地址,在命令行运行下列命令: $ nslookup gateway.ipfs.io 命令运行后会输出该IP地址。该IP地址可能会有两个,一个是IPv4,另一个是IPv6。我们对每个IP地址都创建一个记录。 当我们做了这样的设置后,ipfs网关就能识别我们的域名“your.domain”,这样用户就能访问以”your.domain”的名字访问我们的网站了。 这就是在IPFS上托管我们网站的全部步骤。 我是IPFS/Filecoin社区发起人晓熙(加入社区,联系v号: liandaoxixi),IPFS/Filecoin是全球共识最大的去中心化存储项目,我会定期在社区分享专业的资讯,为IPFS/Filecoin爱好者建设一个共赢的学习社区。 参考链接:https://docs.ipfs.io/how-to/host-single-page-site/#create-your-site —- 编译者/作者:FIL社区 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
基于IPFS创建个人网站
2020-06-08 FIL社区 来源:区块链网络
LOADING...
相关阅读:
- Shopping.io:在流行的电子商务网站上带来加密购物体验!2020-10-31
- 比特币(BTC)和以太坊(ETH)地址中的通用记录2020-10-31
- 这就是渴望金融的原因 [YFI] 可以看到急需的看涨趋势2020-10-31
- FAN票开启套娃工厂,如何免费领取18ETH测试网代币,如何用LINK挖DAO?2020-10-30
- DeFi项目Dharma为500万UNI提供了新的Uniswap空投2020-10-30