Linux - 搭建FastDFS分布式文件系统 (亲测有效)
- Tracker Server :192.168.154.21
- Storage Server:192.168.154.22
一、两台服务器分别都要安装libfastcommon、fastdfs
1.下载安装包
# 创建一个目录,存储下载的安装包
$ sudo mkdir /usr/local/src/fdfs
$ cd /usr/local/src/fdfs
# 下载fastdfs:
sudo wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz
# 下载libfastcommon
sudo wget https://github.com/happyfish100/libfastcommon/archive/V1.0.39.tar.gz
# 下载fastdfs-nginx-module
sudo wget https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.20.tar.gz
# 下载Nginx
sudo wget http://nginx.org/download/nginx-1.12.2.tar.gz
2.安装libfastcommon
# 安装依赖库
sudo yum -y install gcc-c++
# 解压
sudo tar -xf V1.0.39.tar.gz
cd libfastcommon-1.0.39/
# 编译
sudo ./make.sh
# 安装
sudo ./make.sh install
3.安装 fastdfs
cd /usr/local/src/fdfs
# 解压
sudo tar -xf V5.11.tar.gz
cd fastdfs-5.11
# 编译
sudo ./make.sh
# 安装
sudo ./make.sh install
二、在192.168.254.21配置跟踪器(Tracker Server) (如果多台服务器需要配置成集群)
两台Tracker Server的配置一样。
# 创建Tracker Server数据、日志文件存储路径
sudo mkdir /data/fdfs/tracker -p
修改配置文件
# 进入配置文件目录
$ cd /etc/fdfs
# 复制配置文件
$ sudo cp tracker.conf.sample tracker.conf
# 修改配置文件中的以下两行
$ sudo vim tracker.conf
base_path=/data/fdfs/tracker
http.server_port=80
启动Tracker Server服务
# 方法1:
$ sudo service fdfs_trackerd start
# 方法2:
$ sudo /etc/init.d/fdfs_trackerd start
查看监听的端口是否启动
$ sudo netstat -tunlp | grep 22122
tcp 0 0 0.0.0.0:22122 0.0.0.0:* LISTEN 12178/fdfs_trackerd
三、在192.168.254.22配置存储节点(Storage Server) (如果多台服务器需要配置成集群)
所有Storage Server的配置一样
创建Storage Server数据、日志文件存储路径
# data目录存储日志文件,file目录存储上传的文件目录
$ sudo mkdir /data/fdfs/{storage,file} -p
修改配置文件
# 进入配置文件目录
$ cd /etc/fdfs
# 复制配置文件
$ sudo cp storage.conf.sample storage.conf
# 修改配置文件以下几行内容
$ sudo vim storage.confgroup_name=group1 #此处填写所在的组,比如group1, group2, group3 ...
base_path=/data/fdfs/storage
store_path0=/data/fdfs/file
tracker_server=192.168.254.21:22122
http.server_port=80
启动Storage Server服务
$ sudo service fdfs_storaged start
查看监听的端口
$ sudo netstat -tunlp | grep 2300
tcp 0 0 0.0.0.0:23000 0.0.0.0:* LISTEN 12964/fdfs_storaged
四、上传、下载文件测试
在Storage(192.168.254.22)上测试
# a. 配置客户端
$ mkdir /data/fdfs/client
$ cd /etc/fdfs/
$ sudo cp client.conf.sample client.conf# 修改以下配置
$ sudo vim client.conf
connect_timeout=30
base_path=/data/fdfs/client <=客户端日志存储路径
tracker_server=192.168.254.21:22122
http.tracker_server_port=80
# b. 上传文件
fdfs_upload_file /etc/fdfs/client.conf 上传的文件
返回结果:group1/M00/00/00/***
# c. 下载文件
fdfs_download_file /etc/fdfs/client.conf 上面的返回结果
由于需要访问静态资源,可以通过Tomcat 或者 nginx。
相关软件安装可以参考其他博客。