我们用IPFS与他人共享文件最好的方法是自己也运行一个IPFS节点,通常我们可以在自己的电脑上运行这样一个节点。 但要保持这个节点中的内容能够尽量有效,我们就得24小时不关机。然而我们常用的家用电脑在性能方面是有限的,并且我们家用电脑所处的网络环境的带宽也是有限的,这使得我们运行的这种节点性能并不好。 更好的办法是在数据中心运行IPFS节点,将我们希望与人共享的文件放到在数据中心运行的节点中。这就能保证我们的文件能24小时在线并且他人能随时访问。 而在数据中心部署IPFS我们就需要用到VPS服务。所谓的VPS就是Virtual Private Server----虚拟专用服务器,这是将一台服务器分割成多个虚拟专享服务器的服务。通常数据中心资源的租用就是由VPS提供商提供。 VPS提供商提供的服务能让我们在数据中心快速搭建我们自己的Linux服务器。 接下来我将分享如何在一个VPS搭建专属的IPFS节点。在这里我们使用的系统是Ubuntu 14.04LTS 64位系统。 第一步:安装IPFS 首先我们下载所需的工具文件包,运行下列命令: > apt-get update > apt-get install tar wget 接下来,我们下载IPFS最新的安装包,我们要选x86_64这个安装包,运行下列命令: > wget https://dist.ipfs.io/go-ipfs/v0.4.14/go-ipfs_v0.4.14_linux-amd64.tar.gz > tar xfv go-ipfs_v0.4.14_linux-amd64.tar.gz # Move it into your bin. This requires root permissions. > sudo cp go-ipfs/ipfs /usr/local/bin/ 通常,运行一个公共服务,我们不建议以root权限来操作,因此我们专门为IPFS创建一个账户。 > adduser ipfs > su ipfs 第二步:向IPFS存储文件 在这一步,我们首先初始化IPFS的配置: > ipfs init initializing ipfs node at ~/.ipfs generating 2048-bit RSA keypair...done peer identity: QmSyPpT59gXxtnLRZePQBthJd934iy17bmQesgHUAw25pB to get started, enter: ipfs cat /ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme 注意,我们得到的peer ID会不同,我们搭建的这个节点的init文件会在我们默认的用户目录。 IPFS在工作时会搜索附近的节点。有些VPS提供商会把IPFS的这种搜索行为视为可疑而拒绝这种行为。为了防止这种现象的发生,我们在配置文件config文件中增加下列内容: # 1. disable mDNS discovery ipfs config --json Discovery.MDNS.Enabled false # 2. filter out local network addresses ipfs config --json Swarm.AddrFilters '[ "/ip4/10.0.0.0/ipcidr/8", "/ip4/100.64.0.0/ipcidr/10", "/ip4/169.254.0.0/ipcidr/16", "/ip4/172.16.0.0/ipcidr/12", "/ip4/192.0.0.0/ipcidr/24", "/ip4/192.0.0.0/ipcidr/29", "/ip4/192.0.0.8/ipcidr/32", "/ip4/192.0.0.170/ipcidr/32", "/ip4/192.0.0.171/ipcidr/32", "/ip4/192.0.2.0/ipcidr/24", "/ip4/192.168.0.0/ipcidr/16", "/ip4/198.18.0.0/ipcidr/15", "/ip4/198.51.100.0/ipcidr/24", "/ip4/203.0.113.0/ipcidr/24", "/ip4/240.0.0.0/ipcidr/4" ]' 现在我们可以启动自己的IPFS服务了。运行下列命令: > ipfs daemon & [1] 16252 Initializing daemon... Adjusting current ulimit to 1024. > Swarm listening on /ip4/127.0.0.1/tcp/4001 Swarm listening on /ip4/172.20.20.20/tcp/4001 Swarm listening on /ip4/73.114.34.208/tcp/37131 Swarm listening on /ip6/::1/tcp/4001 API server listening on /ip4/127.0.0.1/tcp/5001 Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080 Daemon is ready 命令运行后,IPFS的daemon进程就会在后台运行。我们让它运行一段时间以便我们的节点能连接到其它IPFS节点。一段时间后,我们可以运行下列命令测试一下看它是否已经开始工作了: > echo "hello world" | ipfs add added QmT78zSuBmuS4z925WZfrqQ1qHaJ56DQaTfyMUF7F8ff5o QmT78zSuBmuS4z925WZfrqQ1qHaJ56DQaTfyMUF7F8ff5o 接着我们运行下列命令以确保IPFS节点已经有了我们的文件: > ipfs refs local | grep QmT78zSuBmuS4z925WZfrqQ1qHaJ56DQaTfyMUF7F8ff5o QmT78zSuBmuS4z925WZfrqQ1qHaJ56DQaTfyMUF7F8ff5o 接着我们运行下列命令确保我们的文件已经被系统“Pin”了: > ipfs pin ls | grep QmT78zSuBmuS4z925WZfrqQ1qHaJ56DQaTfyMUF7F8ff5o QmT78zSuBmuS4z925WZfrqQ1qHaJ56DQaTfyMUF7F8ff5o recursive 在这个示例中,“ipfs add”会默认“Pin”一个文件,并返回它的哈希值。如果没有哈希值返回,则该文件会被垃圾清理器清除。为了防止垃圾清理器清除我们希望长期保留的文件,我们需要“Pin”它,运行下列命令: > ipfs pin add QmT78zSuBmuS4z925WZfrqQ1qHaJ56DQaTfyMUF7F8ff5o pinned QmT78zSuBmuS4z925WZfrqQ1qHaJ56DQaTfyMUF7F8ff5o recursively 如果我们希望VPS服务在一启动时就启动IPFS,我们可以在“/etc/rc.local”文件中加上IPFS的条目。我们要以root权限运行下列命令: sed -i -e '$i /bin/su ipfs -c "/usr/local/bin/ipfs daemon &"\n' /etc/rc.local 这样我们就在VPS上搭建了一个完整的IPFS节点。 我是IPFS/Filecoin社区发起人晓熙(加入社区,联系v号: liandaoxixi),IPFS/Filecoin是全球共识最大的去中心化存储项目,我会定期在社区分享专业的资讯,为IPFS/Filecoin爱好者建设一个共赢的学习社区。 参考链接:https://blog.ipfs.io/22-run-ipfs-on-a-vps/ —- 编译者/作者:FIL社区 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
如何在VPS上运行IPFS?
2020-05-11 FIL社区 来源:区块链网络
LOADING...
相关阅读:
- 数据突破 | 夸克区块链 QKI 总节点数突破 2000 台2020-07-31
- 「大陆节点」什么是比特币和IPFS说的“挖矿”?2020-07-30
- 以太坊网络:Augur平台发布第2版2020-07-30
- 科普向 | 运行以太坊 2.0 验证者节点需要注意些什么?2020-07-29
- BSN将于8月10日更新,增加公链主网和测试网节点服务2020-07-29