IPFS系列 私有网搭建 一
一 .什么是IPFS
IPFS(InterPlanetary File System,缩写IPFS)中文译为星际文件系统,是一个旨在创建持久且分布式存储和共享文件的网络传输协议。它是一种内容可寻址的对等超媒体分发协议。是一个底层的互联网协议,致力于替代
HTTP协议,实现的是互联网上各个节点的文件读取、分享、交换。在IPFS网络中的节点将构成一个分布式文件系统。而 HTTP 协议依赖于 Internet 主网。IPFS 是点对点的超媒体协议,可以让网络更快、更安全、更开放。
它是一个面向全球的、点对点的分布式版本文件系统,试图将所有具有相同文件系统的计算设备连接在一起。
什么叫内容寻址?传统的http协议请求,是根据中心化服务提供的一个明确的地址,客户端访问其地址就可以获取到信息,而IPFS的内容寻址,则是根据文件内容去寻找可访问的地址,它不依赖与中心服务器,如果在IPFS网络里,
有邻近你个人的IPFS网络的内容,则优先就近读取,提高访问效率。
二.IPFS生态功能
1.IPFS是一个协议,类似http协议
定义了基于内容的寻址文件系统
内容分发
使用的技术分布式哈希、p2p传输、版本管理系统
2.IPFS是一个文件系统
有文件夹和文件
可挂载文件系统
3.IPFS是一个web协议
可以像http那样查看互联网页面
未来浏览器可以直接支持 ipfs:/ 或者 fs:/ 协议
4.IPFS是模块化的协议
连接层:通过其他任何网络协议连接
路由层:寻找定位文件所在位置
数据块交换:采用BitTorrent技术
5.IPFS是一个p2p系统
世界范围内的p2p文件传输网络
分布式网络结构
没有单点失效问题
6.IPFS天生是一个CDN
文件添加到IPFS网络,将会在全世界进行CDN加速
bittorrent的带宽管理
7.IPFS拥有命名服务
IPNS:基于SFS(自认证系统)命名体系
可以和现有域名系统绑定
三.IPFS 安装
IPFS安装文件下载: https://dist.ipfs.io/#go-ipfs
根据自己电脑或服务的系统下载相应的版本,本ipfs系列教程 是使用ubuntu 16.04系统安装
wget https://dist.ipfs.io/go-ipfs/v0.4.15/go-ipfs_v0.4.15_linux-amd64.tar.gz tar -zxf go-ipfs.tar.gz cd go-ipfs ./install.sh #安装文件自动mv /usr/local/bin ipfs init #ipfs初始化,~/.ipfs 生成ipfs目录文件 ipfs -h #查看帮助 ipfs daemon #启动ipfs
查看启动服务
ipfs cat /ipfs/QmPZ9gcCEpqKTo6aq61g2nXGUhM4iCL3ewB6LDXZCtioEB/readme
若出现如下图,则安装成功
四.IPFS 配置文件修改
1.设置跨域资源请求
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "GET", "POST", "OPTIONS"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'
2.搭建多IPFS节点修改,IPFS API访问地址
ipfs config --json Addresses.API '/ip4/本机地址/tcp/5001'
ipfs config --json Addresses.Gateway '/ip4/本机地址/tcp/8080' #注意端口不要与本机的其他服务端口冲突,如tomcat
五.IPFS节点访问
输入请求地址:http://127.0.0.1/5001/webui 或者127.0.0.1改成你搭建服务器的ip,如下图: