LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 行情分析 > 如何在VPS上运行IPFS?

如何在VPS上运行IPFS?

2020-05-11 FIL社区 来源:区块链网络

我们用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社区

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...