搭建一个国内高可用的IPFS网关节点,低价打造去中心化无…

89次阅读

共计 2862 个字符,预计需要花费 8 分钟才能阅读完成。

简介
先简单说一下 IPFS 网关的工作原理,IPFS 本身是一个 P2P 的文件传输系统,网关则是其提供的通俗易用的一个功能,可以让人通过 http 访问 IPFS 系统上的内容。当我们使用网关访问一个 IPFS 上的数据时,服务器后台之中的 IPFS 节点服务首先会在本地搜索是否有该数据,如果没有就去给连接的其他 IPFS 节点发送该数据的 CID 数据,其他节点有的话就会先拉取到本地节点然后再通过网关来提供给用户。你可以将 IPFS 网关看成是 BT 客户端的提供的 Web 服务器。
简单了解 IPFS 网关的功能之后我们来自建一个试试看
## 搭建 IPFS 网关
### IPFS 节点部署
腾讯云轻量服务器活动价:
![](https://jpggod.com/images/2022/09/23/chrome_n8KsajBp0s.png)
购买地址:[腾讯云轻量服务器专场](https://url.cn/pjVo701n)
我准备的是 2C4G6M。
镜像选择的是宝塔。
购买完成之后我们需要开放一些 IPFS 需要用到的端口 8080 端口(默认网关端口)4001(节点通信端口)5001(API 节点)
#### IPFS 初始化
官方教程地址:https://docs.ipfs.tech/install/command-line/#official-distributions
##### 1、下载安装服务
1.1、下载压缩包(选择合适的下载源)
“`bash
wget https://dist.ipfs.tech/kubo/v0.15.0/kubo_v0.15.0_linux-amd64.tar.gz (官网)
wget https://github.com/ipfs/kubo/releases/download/v0.15.0/kubo_v0.15.0_linux-amd64.tar.gz(GitHub)
wget https://ghproxy.com/https://github.com/ipfs/kubo/releases/download/v0.15.0/kubo_v0.15.0_linux-amd64.tar.gz(GitHub 下载加速服务适合国内)复制代码
“`
1.2、解压
“`bash
tar -xvzf kubo_v0.15.0_linux-amd64.tar.gz
“`
1.3、进入 `kubo` 文件夹并如下安装脚本
“`bash
cd kubo
bash install.sh
“`
1.4、测试 IPFS 是否正确安装
ipfs –version
这样就是安装完成了。
2、初始化配置
2.1、设置环境变量并初始化
如果你直接初始化的话 IPFS 会直接在当前用户文件夹下生成一个 `./ipfs` 隐藏文件夹。
如果你想初始化在其他指定硬盘 / 文件夹就需要 ** 先设置环境变量 ** 再初始化
假设我们要设置的目录为 `/root/ipfs`
先创建文件夹
“`bash
mkdir /root/ipfs
“`
设置环境变量并初始化
“`bash
export IPFS_PATH=/root/ipfs
ipfs init
“`
搭建一个国内高可用的 IPFS 网关节点,低价打造去中心化无...
这样就是初始化配置成功了。
##### 3、快速开始
3.1、查看说明
“`bash
ipfs cat /ipfs/QmQPeNsJPyVWPFDVHb77w8G42Fvo15z4bG2X8D2GhfbSXc/readme
“`
搭建一个国内高可用的 IPFS 网关节点,低价打造去中心化无...
3.2 基础功能
3.2.1 添加文件 / 文件夹
“`
ipfs add filename (添加文件至 ipfs 节点)
ipfs add -r dir (添加文件夹至 ipfs 节点)
“`
搭建一个国内高可用的 IPFS 网关节点,低价打造去中心化无...
我一共添加了三个文件分别是 1.png 1.mp4 1.txt 图片、视频、文档都有,返回的 Qm 开头的就是文件的 CID,我们后面用网关访问就需要用到 CID 了。
搭建一个国内高可用的 IPFS 网关节点,低价打造去中心化无...
如图所示添加相同文件 CID 的不变,文件夹内每个文件都有单独的 CID,文件夹本身也有个 CID 并保持了原有的结构。
3.2.2 读取数据
命令行下只能读取文本数据,我们以上面的 1.txt 为例
“`bash
ipfs cat QmYWAifyw2V5dEq7c5GgdSPffeKoYXQZggnYzw5RbXpig4
“`
搭建一个国内高可用的 IPFS 网关节点,低价打造去中心化无...
3.2.3 长期保存某数据
根据 IPFS 的设置如果超过设置容量的阈值就会自动删除部分冷门数据,所以如果想长期保存某些数据还需要进行额外操作。
“`
ipfs pin add CID(pin 文件至本地存储)
ipfs pin ls [CID](列出所有文件 / 有 CID 参数时列出该文件状态)
“`
搭建一个国内高可用的 IPFS 网关节点,低价打造去中心化无...
搭建一个国内高可用的 IPFS 网关节点,低价打造去中心化无...
3.2.4、删除数据
“`
ipfs pin rm CID
“`
这个没啥好说的。
更多其他的命令可以自行探索
IPFS 网关部署
启动 IPFS
建议先安装 screen,在 screen session 里执行,这个命令不能直接后台运行,这也算是比较蛋疼的一点。
# 安装 screen
apt install screen -y (ubuntu/debian)
yum install screen -y (centos)
# 用 screen 新建一个 session
screen -R ipfs
# 开启 ipfs
ipfs daemon 复制代码
然后 Ctrl +A,Ctrl + D 挂起 screen 即可
搭建一个国内高可用的 IPFS 网关节点,低价打造去中心化无...
#### 公网访问网关
1、反向代理
反向代理也没啥好说的,解析域名到服务器 IP,然后先申请 SSL 证书然后再开启反向代理,把网关地址 127.0.0.1:8080 反向代理即可。
![]()搭建一个国内高可用的 IPFS 网关节点,低价打造去中心化无...
然后直接访问域名 /ipfs/CID 即可
如我想访问上面添加的 data 文件夹,它的 CID 为:Qme6r14w9pyGrjMU9UUzkNAuSmCY3d1svZtvNRfyyhNHFL。假设我的域名是 ipfs.2demo.top 则访问 https://ipfs.2demo.top/ipfs/Qme6r14w9pyGrjMU9UUzkNAuSmCY3d1svZtvNRfyyhNHFL
搭建一个国内高可用的 IPFS 网关节点,低价打造去中心化无...
这样你就成功搭建了一个境内可用的 IPFS 网关了。
2、修改配置
如果你只开放网关的话只要修改配置里的 Address.Gateway,如果你要用图形界面(webui)还需要修改 Address.API 和 API.HTTPHeaders
一个修改为 0.0.0.0,一个修改为服务器内网 IP(没有内网 IP 就用公网 IP)就行
搭建一个国内高可用的 IPFS 网关节点,低价打造去中心化无...
要用 webui 可以先进入 IP:5001/webui 会自动弹出来一个修改配置的命令,复制粘贴然后重启 ipfs 即可
搭建一个国内高可用的 IPFS 网关节点,低价打造去中心化无...
复制 2 之中的命令到服务器运行一下然后重启 ipfs 之后就会显示已连接 IPFS 了
搭建一个国内高可用的 IPFS 网关节点,低价打造去中心化无...
你可以查看 ipfs 节点状态,文件,节点连接情况等。不过还是不建议公开 webui,没有鉴权很容易导致别人乱存东西。
由于字数限制,删减了部分内容,有兴趣的可以前往博客查看全文
全文地址:https://2demo.top/403.html

是不是别人用你的网关下载色色暴恐,你会进去?搭建一个国内高可用的 IPFS 网关节点,低价打造去中心化无...

Hetzner 发表于 2022-9-29 17:11
是不是别人用你的网关下载色色暴恐,你会进去?

肯定得设置防盗链之类的,也可以限定连接指定节点,这样别人的资源就不能通过你的网关下载了

正文完
 0