https://github.com/sjqzhang/go-fastdfs
https://sjqzhang.gitee.io/go-fastdfs/
https://hub.docker.com/r/siyuwuxin/go-fastdfs
https://www.github.com/epoweripione/docker-go-fastdfs
https://github.com/perfree/go-fastdfs-web
docker run -it -d --network=host --name fastdfs --restart=always -v /data/fastdfs_data:/data -p 8080:8080 -p 8088:8088 -e GO_FASTDFS_DIR=/data siyuwuxin/go-fastdfs:latest
#docker run -it -d --network=host --name fastdfs --restart=always -v /data/fastdfs_data:/data -p 8080:8080 -e GO_FASTDFS_DIR=/data sjqzhang/go-fastdfs
---命令上传
curl -F file=@http-index-fs http://ip:888/group1/upload
curl -F "file=@/opt/install.sh" http://172.16.8.100:888/group1/upload
http://119.3.157.97:888/group1/default/20210706/13/48/6/install.sh?name=install.sh&download=1
---WEB上传(浏览器打开)
http://ip:888
---如何上传文件夹
DIR=log && ls $DIR |xargs -n 1 -I {} curl -s -F path=$DIR -F file=@$DIR/{} http://119.3.157.97:888/group1/upload
-上面命令的log为要上传的目录,如果代码上传就是简单的循环上传就OK。
http://119.3.157.97:888/group1/log/1.txt?name=1.txt&download=1
---如何缩放图片
-在下载url中加入width各height参数
http://127.0.0.1:8080/group1/haystack/5/124,0,27344,.jpg?download=0&width=100&height=100
-如果要等比例缩放,请将width或height设为0
---在浏览器中直接显示图片
-在下载url中加入download=0参数
http://127.0.0.1:8080/group1/haystack/5/124,0,27344,.jpg?download=0
---支持断点下载
wget -c http://10.1.5.9:8080/group1/default/20190128/16/10/2G
http://119.3.157.97:888/group1/status
vim /data/fastdfs_data/conf/cfg.json
-要放行ip,所有修改admin_ips
"admin_ips": ["0.0.0.0","192.168.3.30","106.12.156.86"],
-上传文件同一个文件的时候,老是返回上次的数据, md5算法和去重是冲突的
"enable_distinct_file": false,
nginx:
http
{
...
proxy_redirect ~/big/upload/(.*) /big/upload/$1; #继点续传一定要设置(注意
upstream go-fastdfs {
server 172.16.8.100:8080;
ip_hash; #notice:very important(注意)
}
...server
{
...
listen 888;
server_name 127.0.0.1;
location / {
proxy_set_header Host $host; #notice:very important(注意)
proxy_set_header X-Real-IP $remote_addr; #notice:very important(注意)
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #notice:very important(注意)
proxy_pass http://go-fastdfs;
}
...
}
go-fastdfs是一个基于http协议的分布式文件系统,它基于大道至简的设计理念,一切从简设计,使得它的运维及扩展变得更加简单,它具有高性能、高可靠、无中心、免维护等优点。