LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 基于IPFS创建个人网站

基于IPFS创建个人网站

2020-06-08 FIL社区 来源:区块链网络

我曾经和大家分享如何基于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社区

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...