一、安装FastDFS环境
我把所有的安装包放到了 /usr/local/fastDFS
Linux版本所需安装包下载链接:https://download.csdn.net/download/w_meng_h/10885661
1、安装libevent库
# yum -y install libevent
2、进入 /usr/local/fastDFS 目录,解压 libfastcommon-1.0.7.tar.gz
# tar -xzvf libfastcommon-1.0.7.tar.gz
3、进入解压后的目录,编译、安装
# ./make.sh
# ./make.sh install
编译文件需要先安装gcc ,命令
# yum -y install gcc
4、安装完成后,相应的安装文件会放在 /usr/lib64(64位环境)下,进入该目录,找到libfastcommon.so文件,复制该文件到/usr/lib(32位环境)下,命令
# cp libfastcommon.so /usr/lib
或者将创建软链接
# ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
# ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
# ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
# ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
到此,基本环境安装完毕。
二、安装FastDFS
1、进入 /usr/local/fastDFS 目录,解压fastdfs-5.05.tar.gz包,命令
# tar -xzvf fastdfs-5.05.tar.gz
2、编译、安装
# ./make.sh
# ./make.sh install
安装完成之后,相关配置文件会放在/usr/bin目录下,配置文件在/etc/fdfs目录下。
3、进入/usr/local/fastDFS/fastdfs-5.05/conf 目录,复制所有的配置文件到 /etc/fdfs/下,命令
# cp * /etc/fdfs/
4、配置fastDFS跟踪器(Tracker),进入 /etc/fdfs 目录,修改tracker.conf文件,命令
# vim tracker.conf
修改:
# the base path to store data and log files
base_path=/fastdfs/tracker
# which group to upload file
# when store_lookup set to 1, must set store_group to the group name
store_group=meng
# which path(means disk or mount point) of the storage server to upload file
# 0: round robin
# 2: load balance, select the max free space path to upload file
store_path=/fastdfs/tracker
# HTTP port on this tracker server
http.server_port=80
保存退出,然后进入根目录(cd /),把刚刚设置的路径进行创建:mkdir /fastdfs/tracker -p 递归创建,同理,创建要使用的 storage文件夹、client文件夹。
5、防火墙中打开跟踪端口(默认的22122)
# vim /etc/sysconfig/iptables
添加如下端口行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT
重启防火墙:
# service iptables restart
6、启动Tracker,初次成功启动,会在 /fdfsdfs/tracker/ (配置的base_path)下创建 data、logs 两个目录。
# fdfs_trackerd /etc/fdfs/tracker.conf
# fdfs_trackerd /etc/fdfs/tracker.conf restart
查看 fastDFS Tracker 是否已成功启动 ,22122端口正在被监听,则算是Tracker服务安装成功。
# netstat -unltp|grep fdfs
7、tracker server 目录及文件结构
${base_path}
|__data
| |__storage_groups.dat:存储分组信息
| |__storage_servers.dat:存储服务器列表
|__logs
| |__trackerd.log: tracker server 日志文件
8、配置 fastDFS 存储 (Storage),进入/etc/fdfs/目录,修改storage.conf文件
# 配置文件是否不生效,false 为生效
disabled=false
# 指定此 storage server 所在 组(卷)
group_name=meng
# storage server 服务端口
port=23000
# 心跳间隔时间,单位为秒 (这里是指主动向 tracker server 发送心跳)
heart_beat_interval=30
# Storage 数据和日志目录地址(根目录必须存在,子目录会自动生成)
base_path=/fastdfs/storage
# 存放文件时 storage server 支持多个路径。这里配置存放文件的基路径数目,通常只配一个目录。
store_path_count=1
# 逐一配置 store_path_count 个路径,索引号基于 0。
# 如果不配置 store_path0,那它就和 base_path 对应的路径一样。
store_path0=/fastdfs/storage
# FastDFS 存储文件时,采用了两级目录。这里配置存放文件的目录个数。
# 如果本参数只为 N(如: 256),那么 storage server 在初次运行时,会在 store_path 下自动创建 N * N 个存放文件的子目录。
subdir_count_per_path=256
# tracker_server 的列表 ,会主动连接 tracker_server
# 有多个 tracker server 时,每个 tracker server 写一行
tracker_server=你的主机IP:22122
# 允许系统同步的时间段 (默认是全天) 。一般用于避免高峰同步产生一些问题而设定。
sync_start_time=00:00
sync_end_time=23:59
# 访问端口
http.server_port=80
9、防火墙中打开存储器端口(默认的 23000)
# vim /etc/sysconfig/iptables
添加如下端口行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 23000 -j ACCEPT
重启防火墙:
# service iptables restart
10、启动 Storage,启动Storage前确保Tracker是启动的。初次启动成功,会在 /fastdfs/storage 目录下创建 data、logs 两个目录。
# fdfs_storaged /etc/fdfs/storage.conf
11、查看 Storage 是否成功启动,23000 端口正在被监听,就算 Storage 启动成功。
12、查看Storage和Tracker是否在通信
# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
三、文件上传测试
1、修改 Tracker 服务器中的客户端配置文件 ,进入 /etc/fdfs/目录,修改client.conf
# vim client.conf
2、修改如下配置即可,其它默认
# Client 的数据和日志目录
base_path=/fastdfs/client
# Tracker端口
tracker_server=你的主机IP:22122
3、进入/usr/bin目录,执行测试上传命令
fdfs_test /etc/fdfs/client.conf upload /home/dog3.jpg(图片路径)
上传成功后返回文件ID号:/meng/M00/00/00/rBFE2Vwm6HGAcIKYAABDRU16ivg479.png
返回的文件ID由group、存储目录、两级子目录、fileid、文件后缀名(由客户端指定,主要用于区分文件类型)拼接而成。