Hexo+IPFS搭建个人免服务器独立博客


很多人都折腾过个人博客,租免费空间,vps,绑定域名等等,可一直被各种各样的问题折磨着,配置服务器、配置github、打包部署等等…,博主也如此折腾过,直至基于区块链的星际文件系统(IPFS)出现,博主就想干脆直接将博客挂在了IPFS的区块链上,不再要折腾服务器,不再要各种配置,只要买个域名,安心写博文就行,如此方便。下面就一步步介绍如何使用IPFS来实现免服务器Hexo博客。


来源: http://esgbox.com/20170413.html
一些IPFS网站:https://amp.reddit.com/r/ipfs/comments/63ev6h/list_of_ipfs_websites/

配置

1. 配置Hexo

Hexo是一款基于Node.js的静态博客框架,安装Hexo需要用到Nodejs,作用是用来生成静态页面,到Node.js官网下载相应平台的最新版本,一路安装即可。

1.1 安装Hexo

Node安装好后,首先创建一个文件夹,如blog,用户存放hexo的配置文件,然后进入blog里安装Hexo。
执行如下命令安装Hexo:
npm install -g hexo

1.2 初始化

然后,执行init命令初始化hexo,命令:
hexo init
好啦,至此,全部安装工作已经完成!blog就是你的博客根目录,所有的操作都在里面进行。

1.3 生成静态页面

hexo generate(hexo g也可以)

1.4 本地启动

启动本地服务,进行文章预览调试,命令:
hexo server
浏览器输入http://localhost:4000
我不知道你们能不能,反正我能,因为我的环境都配置好了,如果无法看到hexo页面,请自行百度查找原因。

2. 配置IPFS

IPFS是点对点协议InterPlanetary File System的简称,它是一个面向全球的、点对点的分布式版本文件系统,试图将所有具有相同文件系统的计算设备连接在一起。
近日,IFPS宣布了一个未来web发展计划,它用基于内容的地址替代基于域名的地址,也就是用户寻找的不是某个地址而是储存在某个地方的内容,不需要验证发送者的身份,而只需要验证内容的哈希,通过这样可以让网页的速度更快、更安全、更健壮、更持久。IPFS表示,IPFS未来将替代HTTP(以及其他的许多东西)。

2.1 安装IPFS

至官网下载对应版本,一路安装即可,笔者是64位win10系统,下载对应zip解压后,将ipfs.exe添加到%PATH%。
测试是否安装成功:ipfs help
出现 USAGE:
ipfs - Global p2p merkle-dag filesystem.

即可。

2.2 启动本地IPFS节点

第一步:先初始化IPFS
ipfs init
第二部:打开节点
ipfs daemon
此时,你可以在http://localhost:5001/webui,打开自己的操作台。

2.3 将Hexo博客部署到IPFS节点上

Hexo是一个静态博客生成器,执行hexo generate后,会在博客目录生成/Public目录,该目录即为全部博客内容
执行 ipfs add -r public
得到:added QmXJJm7aydK22eF1BdKVozcXH5Ltm8ZwbFHo3c36hi9qUx public
QmXJJm7aydK22eF1BdKVozcXH5Ltm8ZwbFHo3c36hi9qUx即为博客网站的site_hash,你可以通过任意运行IPFS的节点访问,如:http://localhost:8080/ipfs/$SITE_HASH,也可以通过官方运行的节点访问:http://gateway.ipfs.io/ipfs/$SITE_HASH。

2.4 绑定独立域名

刚才,我们通过ipfs add,将博客发布到了IPFS运行的区块链节点上,但复杂的site_hash并不友好,我们可以使用IPNS技术,通过绑定独立域名来实现与现有的网站访问并无任何不一样的体现。我们假设你已经有一个可以正常使用的域名,如aa.com,没有域名的可以到任意域名服务商初购买。
首先,我们将网站发布
执行 ipfs name publish QmXJJm7aydK22eF1BdKVozcXH5Ltm8ZwbFHo3c36hi9qUx
得到 Published to QmV61ui6H9qX3126yGH846dPkMgSe7SZcDxrVwm2gxTidu: /ipfs/QmXJJm7aydK22eF1BdKVozcXH5Ltm8ZwbFHo3c36hi9qUx
记住QmV61ui6H9qX3126yGH846dPkMgSe7SZcDxrVwm2gxTidu为你的peerid,该hash是保持不变的。
那好,我们现在只需要将aa.com解析到上述地址即可,添加TXT记录为dnslink=/ipns/QmV61ui6H9qX3126yGH846dPkMgSe7SZcDxrVwm2gxTidu,同时将域名A记录指向任意ipfs节点的ip,如gateway.ipfs.io。
现在访问aa.com,你是不是发现已经可以正常访问你刚才生成的博客了。当然,在没有优化之前,访问会很慢,但可以打开。
由于IPNS还不稳定,你可以在http://ipfs.io/ipfs/QmeaNWtacNyWZxEphYCdVmF6bcMg7Bjn6e5sGdK6fr1nMx 查看本页面。

更新与优化

上面讲的是hexo博客的生成与部署,你可以对Hexo进行进一步的配置和优化,发表新的文章,然后hexo g生成新的public,再通过ipfs add即ipfs publish即可实时更新在线博客。
怎么样,是不是很神奇,没有服务器,没有各种折腾,你有了一个独立博客。小伙伴们,一起努力吧!!!

没有评论: