一 .什么是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,如下圖: