前言
很多人都折腾过个人博客,租免费空间,vps,绑定域名等等,可一直被各种各样的问题折磨着,配置服务器、 配置github、打包部署等等…,博主也如此折腾过,直至基于区块链的星际文件系统(IPFS)出现,博主就想干脆直接将博客挂在了IPFS的区块链 上,不再要折腾服务器,不再要各种配置,只要买个域名,安心写博文就行,如此方便。下面就一步步介绍如何使用IPFS来实现免服务器Hexo博客。xOk免费翻墙网
配置
1. 配置Hexo
Hexo是一款基于Node.js的静态博客框架,安装Hexo需要用到Nodejs,作用是用来生成静态页面,到Node.js官网下载相应平台的最新版本,一路安装即可。xOk免费翻墙网
1.1 安装Hexo
Node安装好后,首先创建一个文件夹,如blog,用户存放hexo的配置文件,然后进入blog里安装Hexo。xOk免费翻墙网
执行如下命令安装Hexo:xOk免费翻墙网
npm install -g hexoxOk免费翻墙网
1.2 初始化
然后,执行init命令初始化hexo,命令:xOk免费翻墙网
hexo initxOk免费翻墙网
好啦,至此,全部安装工作已经完成!blog就是你的博客根目录,所有的操作都在里面进行。xOk免费翻墙网
1.3 生成静态页面
hexo generate(hexo g也可以)xOk免费翻墙网
1.4 本地启动
启动本地服务,进行文章预览调试,命令:xOk免费翻墙网
hexo serverxOk免费翻墙网
浏览器输入http://localhost:4000xOk免费翻墙网
我不知道你们能不能,反正我能,因为我的环境都配置好了,如果无法看到hexo页面,请自行百度查找原因。xOk免费翻墙网
2. 配置IPFS
IPFS是点对点协议InterPlanetary File System的简称,它是一个面向全球的、点对点的分布式版本文件系统,试图将所有具有相同文件系统的计算设备连接在一起。xOk免费翻墙网
近 日,IFPS宣布了一个未来web发展计划,它用基于内容的地址替代基于域名的地址,也就是用户寻找的不是某个地址而是储存在某个地方的内容,不需要验证 发送者的身份,而只需要验证内容的哈希,通过这样可以让网页的速度更快、更安全、更健壮、更持久。IPFS表示,IPFS未来将替代HTTP(以及其他的 许多东西)。xOk免费翻墙网
2.1 安装IPFS
至官网下载对应版本,一路安装即可,笔者是64位win10系统,下载对应zip解压后,将ipfs.exe添加到%PATH%。xOk免费翻墙网
测试是否安装成功:ipfs helpxOk免费翻墙网
出现 USAGE:xOk免费翻墙网
ipfs - Global p2p merkle-dag filesystem.xOk免费翻墙网
…xOk免费翻墙网
即可。xOk免费翻墙网
2.2 启动本地IPFS节点
第一步:先初始化IPFSxOk免费翻墙网
ipfs initxOk免费翻墙网
第二部:打开节点xOk免费翻墙网
ipfs daemonxOk免费翻墙网
此时,你可以在http://localhost:5001/webui,打开自己的操作台。xOk免费翻墙网
2.3 将Hexo博客部署到IPFS节点上
Hexo是一个静态博客生成器,执行hexo generate后,会在博客目录生成/Public目录,该目录即为全部博客内容xOk免费翻墙网
执行 ipfs add -r publicxOk免费翻墙网
得到:added QmXJJm7aydK22eF1BdKVozcXH5Ltm8ZwbFHo3c36hi9qUx publicxOk免费翻墙网
QmXJJm7aydK22eF1BdKVozcXH5Ltm8ZwbFHo3c36hi9qUx即为博客网站的site_hash,你可以通过任意运行IPFS的节点访问,如:http://localhost:8080/ipfs/$SITE_HASH,也可以通过官方运行的节点访问:http://gateway.ipfs.io/ipfs/$SITE_HASH。xOk免费翻墙网
2.4 绑定独立域名
刚 才,我们通过ipfs add,将博客发布到了IPFS运行的区块链节点上,但复杂的site_hash并不友好,我们可以使用IPNS技术,通过绑定独立域名来实现与现有的网 站访问并无任何不一样的体现。我们假设你已经有一个可以正常使用的域名,如aa.com,没有域名的可以到任意域名服务商初购买。xOk免费翻墙网
首先,我们将网站发布xOk免费翻墙网
执行 ipfs name publish QmXJJm7aydK22eF1BdKVozcXH5Ltm8ZwbFHo3c36hi9qUxxOk免费翻墙网
得到 Published to QmV61ui6H9qX3126yGH846dPkMgSe7SZcDxrVwm2gxTidu: /ipfs/QmXJJm7aydK22eF1BdKVozcXH5Ltm8ZwbFHo3c36hi9qUxxOk免费翻墙网
记住QmV61ui6H9qX3126yGH846dPkMgSe7SZcDxrVwm2gxTidu为你的peerid,该hash是保持不变的。xOk免费翻墙网
那 好,我们现在只需要将aa.com解析到上述地址即可,添加TXT记录为dnslink=/ipns /QmV61ui6H9qX3126yGH846dPkMgSe7SZcDxrVwm2gxTidu,同时将域名A记录指向任意ipfs节点的ip,如 gateway.ipfs.io。xOk免费翻墙网
现在访问aa.com,你是不是发现已经可以正常访问你刚才生成的博客了。当然,在没有优化之前,访问会很慢,但可以打开。xOk免费翻墙网
由于IPNS还不稳定,你可以在http://ipfs.io/ipfs/QmeaNWtacNyWZxEphYCdVmF6bcMg7Bjn6e5sGdK6fr1nMx 查看本页面。xOk免费翻墙网
更新与优化
上面讲的是hexo博客的生成与部署,你可以对Hexo进行进一步的配置和优化,发表新的文章,然后hexo g生成新的public,再通过ipfs add即ipfs publish即可实时更新在线博客。xOk免费翻墙网
怎么样,是不是很神奇,没有服务器,没有各种折腾,你有了一个独立博客。小伙伴们,一起努力吧!!!xOk免费翻墙网
来自http://esgbox.com/20170413.htmlxOk免费翻墙网
|