IPFS daemon提供后台的网络服务,但是这个守护进程相当脆弱,动不动就挂了!挂了也不会重启之类的,这样的话,网络的服务就意外地终止了!
IPFS在容错上真是做得不好,更可恶的是在github上的案例中竟然还有恶意代码!比如在这:
https://github.com/ipfs/js-ipfs/blob/master/examples/browser-vue/package.json ->
1 | "dependencies": { |
如果你是直接这样安装你就死翘翘了,"ipfs": "file:../../"
这个会生成无限循环地文件夹,电脑直接卡死!刚开始就觉得有点怪,没多想,就直接npm install
跑起来看看,没想到会一直在生成无限循环地文件夹!一直到现在我还没有成功把它删掉!
systemctl-service
要使IPFS daemon一直健壮地服务:挂了能重启,就需要使用systemctl。这个玩意我也不太熟,现学现卖。
- 先which命令查看jsipfs执行文件的位置,比如查到下面的路径:
/usr/local/bin/jsipfs
vim /lib/systemd/system/jsipfs.service
,将下面代码贴入:1
2
3
4
5
6
7
8
9
10
11[Unit]
Description=JSIPFS Daemon Client
[Service]
ExecStart=/usr/local/bin/jsipfs daemon
Restart=always
RestartSec=30
Type=simple
User=root
Group=root
[Install]
WantedBy=multi-user.targetsystemctl daemon-reload
- systemctl enable jsipfs
- systemctl start jsipfs
好了,这样就可以很安心地使用ipfs的服务了!
公共网关
如果你的服务器挂了,其实你还是可以访问你的IPFS网络中的文件的。使用你文件的哈希来用公网也是一样可以访问的!这样的话,你的文件服务就会比一般的服务器更健壮。大家可以试下这个哈希值: Qmf1KNVAxc3oEmYTWnu2NrCKCkhs6xVkCbuRsd2F8Asmbq
,看下它是不是在所有的公网中都可访问。格式是这样的:https://cloudflare-ipfs.com/ipfs/Qmf1KNVAxc3oEmYTWnu2NrCKCkhs6xVkCbuRsd2F8Asmbq
IPFS的公网还蛮稀缺的,再加上国内的环境会导致经常访问不了!这个没有太好的办法,除了自己建网关之外,就是随时查下哪些网关能用。
This page is synchronized from the post: ‘IPFS daemon和公共网关 / 网络研习社#54’