环境:ubuntu 20
软件下载页面:https://dist.ipfs.io/#go-ipfs
下载链接:https://dist.ipfs.io/go-ipfs/v0.9.0/go-ipfs_v0.9.0_linux-amd64.tar.gz
解压:tar -zxvf go-ipfs_v0.9.0_linux-amd64.tar.gz
切换到解压后的目录:cd go-ipfs
建议把解压出来的ipfs文件放到可执行目录中,以后方便操作
sudo cp ipfs /usr/local/bin/
初始化一个IPFS节点:ipfs init
会有如下的提示表示正常
ipfs init
generating ED25519 keypair...done
peer identity: 12D3KooWKfpSxwNPyXkijiuNLeFLGKJeUrysbtxw83HUTUqaMZEZ
initializing IPFS node at /home/ubuntu/.ipfs
to get started, enter:
? ? ipfs cat /ipfs/QmQPeNsJPyVWPFDVHb77w8G42Fvo15z4bG2X8D2GhfbSXc/readme
这时就会在当前用户的家目录生成一个隐藏目录 .ipfs
进入这个目录做一些修改:
编译这个文件:ls? ~/.ipfs/config
"StorageMax": "10GB",? ? 修改为需要的大小(默认10G): ?"StorageMax": "90GB",
"API": "/ip4/127.0.0.1/tcp/5001",? ? ?修改为本机内网的IP如:? ? "API": "/ip4/172.31.12.17/tcp/5001",
跨域资源共享Cors配置
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods ‘["PUT", "GET", "POST", "OPTIONS"]‘
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin ‘["*"]‘
启动服务:ipfs daemon
ipfs daemon
?
?
问题分析:
错误1
原因为:"API": "/ip4/127.0.0.1/tcp/5001",? 需要配置服务器内网IP或者0.0.0.0
?
问题2:
failed to sufficiently increase receive buffer size (was: 208 kiB, wanted: 2048 kiB, got: 416 kiB). See https://github.com/lucas-clemente/quic-go/wiki/UDP-Receive-Buffer-Size for details
解决办法:
sysctl -w net.core.rmem_max=2500000
?
配置Nginx代理发布
server {
listen 80;
server_name 想要使用的域名;
index index.html index.htm;
##########
gzip on; #打开gzip压缩功能
gzip_http_version 1.1;
gzip_min_length 1k; #压缩阈值
gzip_buffers 4 16k; #buffer 不用修改
gzip_comp_level 2; #压缩级别:1-10,数字越大压缩的越好,时间也越长
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/javascript ; # 压缩文件类型
gzip_vary off; #跟Squid等缓存服务有关,on的话会在Header里增加 "Vary: Accept-Encoding"
gzip_disable "MSIE [1-6]\."; #IE1-6版本不支持gzip压缩
access_log /var/log/nginx/ipfs-access.log;
error_log /var/log/nginx/ipfs-error.log;
###########
location / {
proxy_pass http://内网IP:5001;
}
}
###
?