go-fastdfs 是一个基于 http 协议的分布式文件系统,它基于大道至简的设计理念,一切从简设计,使得它的运维及扩展变得更加简单,它具有高性能、高可靠、无中心、免维护等优点。

官方网站:https://sjqzhang.gitee.io/go-fastdfs/

go-fastdfs (go语言版本的FastDFS)

项目地址:https://github.com/sjqzhang/go-fastdfs

编译版本下载地址:https://github.com/sjqzhang/go-fastdfs/releases

go-fastdfs-web 监控工具

项目地址:https://github.com/perfree/go-fastdfs-web

各打包版本下载地址:https://github.com/perfree/go-fastdfs-web/releases

准备篇

一、防火墙配置

CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙。

1、关闭firewall:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

systemctl mask firewalld

systemctl stop firewalld

yum remove firewalld

2、安装iptables防火墙

yum install iptables-services #安装

#添加端口

sed -i "/--dport 22/i -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT" /etc/sysconfig/iptables

sed -i "/--dport 22/i -A INPUT -p tcp -m state --state NEW -m tcp --dport 8088 -j ACCEPT" /etc/sysconfig/iptables

systemctl restart iptables.service #最后重启防火墙使配置生效

systemctl enable iptables.service #设置防火墙开机启动

/usr/libexec/iptables/iptables.init restart #重启防火墙

二、关闭SELINUX

#执行以下命令

sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

setenforce 0 #使配置立即生效

三、安装包下载

1、下载go-fastdfs,目前最新版本是v1.4.3

https://github.com/sjqzhang/go-fastdfs/releases/download/v1.4.3/fileserver

2、下载go-fastdfs启动脚本

https://github.com/sjqzhang/go-fastdfs/blob/master/control

保存为control.sh

3、下载go-fastdfs-web,目前最新版本是v1.3.7

https://github.com/perfree/go-fastdfs-web/releases/download/v1.3.7/go-fastdfs-web-v1.3.7.tar.gz

4、下载JAVA JDK(运行go-fastdfs-web需要)

https://adoptium.net/zh-CN/temurin/releases?version=8

选择OpenJDK8U-jdk_x64_linux_hotspot_8u345b01.tar.gz

上传安装包到/usr/local/src目录下面

安装篇

一、安装go-fastdfs

#创建安装目录

mkdir -p /data/server/gofastdfs

#移动二进制文件到安装目录

mv /usr/local/src/fileserver /data/server/gofastdfs/

#移动启动脚本到安装目录

mv /usr/local/src/control.sh /data/server/gofastdfs/

#添加执行权限

chmod +x /data/server/gofastdfs/fileserver

chmod +x /data/server/gofastdfs/control.sh

#生成配置文件

cd /data/server/gofastdfs/

./fileserver server #运行之后执行ctrl+c取消,即可生成配置文件

#编辑修改配置文件

cp /data/server/gofastdfs/conf/cfg.json /data/server/gofastdfs/conf/cfg.json-bak

vi /data/server/gofastdfs/conf/cfg.json

"addr": ":8080",

"host": "http://192.168.21.128:8080"

"peers": ["http://192.168.21.128:8080"],

"admin_ips": ["192.168.21.128"],

:wq! #保存退出

说明:

默认使用8080端口,注意ip地址必须是本机内网ip,且不能为127.0.0.1

集群列表,可以添加多个节点"peers": ["http://192.168.21.128:8080", "http://192.168.21.129:8080", "http://192.168.21.130:8080"],

"管理ip列表": "admin_ips": ["192.168.21.128"],"用于管理集的ip白名单,如果放开所有内网则可以用 0.0.0.0 ,注意为了安全,不对外网开放",

#启动go-fastdfs

sh /data/server/gofastdfs/control.sh start

#查看进程是否存在

ps -ef | grep fileserver | grep -v grep

#打开浏览器,可以上传文件进行测试

http://192.168.21.128:8080/

#集群环境下,可以使用nginx反向代理后端的Go-FastDfs服务器

#nginx配置文件在Go-FastDfs源码包中,可以参考

https://github.com/sjqzhang/go-fastdfs/archive/refs/tags/v1.4.3.tar.gz

二、安装Openjdk

#创建安装目录

mkdir -p /data/server/java

#解压

tar -zxvf /usr/local/src/OpenJDK8U-jdk_x64_linux_hotspot_8u345b01.tar.gz -C /data/server/java

#进入安装目录

cd /data/server/java/jdk8u345-b01

#查看版本信息

./bin/java -version

#设置环境变量

vi /etc/profile #添加下面的信息

#set java environment

JAVA_HOME=/data/server/java/jdk8u345-b01

JRE_HOME=$JAVA_HOME/jre

CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

export JAVA_HOME JRE_HOME CLASS_PATH PATH

:wq! #保存退出

#让修改立即生效

source /etc/profile

#查看版本信息

java -version

三、安装go-fastdfs-web

#创建安装目录

mkdir -p /data/server/go-fastdfs-web

#解压

tar -zxvf /usr/local/src/go-fastdfs-web-v1.3.7.tar.gz -C /data/server/go-fastdfs-web --strip-components 1

#删除脚本中多余的空格

cd /data/server/go-fastdfs-web

sed -i 's/\r//' goFastDfsWeb.sh

#添加执行权限

chmod +x /data/server/go-fastdfs-web/goFastDfsWeb.sh

#启动go-fastdfs-web

sh /data/server/go-fastdfs-web/goFastDfsWeb.sh start

#默认端口8088,修改默认端口号更改安装目录下config/application.yml即可

#浏览器打开http://192.168.21.128:8088/

根据提示,填写相关信息,下一步,直到配置完成,最后登录系统。

服务地址:http://192.168.21.128:8080      #Go-FastDfs集群地址

至此,Linux下安装Go-FastDfs分布式文件系统完成。