go-fastdfs安装总结

go-fastdfs安装总结

   运维菜鸟     2020年7月31日 03:53     1818    

快速使用:

Linux下使用

下边命令可以直接下载go-fastdfs,并更改其权限,并启动。

wget --no-check-certificate  https://github.com/sjqzhang/go-fastdfs/releases/download/v1.3.1/fileserver -O fileserver && chmod +x fileserver && ./fileserver

默认端口是8080.

在windows下,和docker中均可使用。

 

docker命令

docker run --network=host --name fastdfs -v /data/fastdfs_data:/data -p 8080:8080 -e GO_FASTDFS_DIR=/data sjqzhang/go-fastdfs

 

编译安装:

git clone https://github.com/sjqzhang/go-fastdfs.git

cd go-fastdfs

mv vendor src

pwd=`pwd`

GOPATH=$pwd go build -o fileserver fileserver.go

在安装过程中会提示找不到github.com,根据实际情况进行配置。

 

小型集群

安装nginx,修改配置文件。

在nginx.conf中添加

proxy_redirect ~/big/upload/(.*) /big/upload/$1;

client_max_body_size 0;

如果不加这个字段再传大文件的时候会提示413错误。

在vhosts中创建go-fastdfs.conf

upstream go-fastdfs {

        server 192.168.0.215:8080;

        server 192.168.0.216:8080;

        ip_hash;     #notice:very important(注意)

}

server {

        listen       8989;

        server_name  localhost;

        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;

        }

 

}

访问:http://192.168.0.223:8989

 

海量集群

安装nginx,修改配置文件。

在nginx.conf中添加

proxy_redirect ~/(\w+)/big/upload/(.*) /$1/big/upload/$2;

client_max_body_size 0;

在vhosts中创建go-fastdfs-big.conf

upstream gofastdfs-group1 {

                server 192.168.0.215:8080;

                server 192.168.0.216:8080;

                ip_hash;     #notice:very important(注意)

}

upstream gofastdfs-group2 {

        server 192.168.0.218:8080;

        server 192.168.0.219:8088;

                ip_hash;     #notice:very important(注意)

}

 

server {

      listen       8989;

      server_name  localhost;

 

 

      if ( $request_uri ~ /godfs/group ) {

           # 注意group会随组的前缀改变而改变

           rewrite ^/godfs/(.*)$ /$1 last;

       }

       location ~ /group(\d) {

            #统一在url前增加godfs,以便统一出入口。

            proxy_set_header Host $host;

            proxy_set_header X-Real-IP $remote_addr;

            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

            proxy_pass http://gofastdfs-group$1;

        }

        location ~ /godfs/upload {

#前期可能只有一个集群group1,当group1满后,只需将上传指向group2,

            #也就是将rewrite , proxy_pass 中的group1改为group2即可。

            proxy_set_header Host $host;

            proxy_set_header X-Real-IP $remote_addr;

            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

            rewrite ^/godfs/upload /group1/upload break;

            proxy_pass http://gofastdfs-group1;

           

          location ~ /godfs/big/upload {

                #以上上类似。

                proxy_set_header Host $host;

                proxy_set_header X-Real-IP $remote_addr;

                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

                rewrite ^/godfs/upload /group1/big/upload break;

                proxy_pass http://gofastdfs-group1;

                }

}

访问:http://192.168.0.223:8989/group1/


文章评论

0

其他文章