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分布式文件系统完成。