fastDFS安装配置

前言

项目地址:https://github.com/happyfish100/fastdfs

操作系统:ubuntu1604、详见下图

img

一:下载安装FDFS依赖: libfastcommon

下载地址:https://codeload.github.com/happyfish100/libfastcommon/zip/master

libfastcommon是从 FastDFS 和 FastDHT 中提取出来的公共 C 函数库,基础环境,安装即可;下载完成直接通过unzip命令解压即可。

img

因为libfastcommon和fastDFS都是通过C语言编写的、我们需要先编译、再安装。

进入libfastcommon-master目录、通过./make.sh命令进行编译。

img

编译完成之后通过./make.sh install 命令进行安装

img

libfastcommon.so默认被安装到了/usr/lib64/libfastcommon.so,但是FastDFS主程序设置的lib目录是/usr/local/lib,所以我们需要创建软链接(快捷方式)。命令如下:

ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
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

img

二:下载安装fastDFS

下载地址:https://codeload.github.com/happyfish100/fastdfs/zip/master

下载完成之后通过unzip命令解压、解压完成之后进入fastdfs-master目录通过./make.sh 命令编译、./make.sh install 命令安装

img

img

img

1、配置跟踪服务器Tracker Server

进入 /etc/fdfs,复制 FastDFS 跟踪器样例配置文件 tracker.conf.sample,并重命名为 tracker.conf

img

通过mkdir命令创建/home/python/fastdfs/tracker目录、用于存放tracker数据和日志。vi编辑tracker.conf ,标红的需要修改下,其它的默认即可。

# 配置文件是否不生效,false 为生效
disabled=false

# bind_addr地址为tracker服务器地址
bind_addr=172.16.200.12

# 提供服务的端口
port=22122

# Tracker 数据和日志目录地址(根目录必须存在,子目录会自动创建)
base_path=/home/python/fastdfs/tracker

img

img

注:

# 设置Tracker开机启动
# chkconfig fdfs_trackerd on
# 或者:
# vim /etc/rc.d/rc.local
# 加入配置:
/etc/init.d/fdfs_trackerd start
# tracker server 目录及文件结构
# Tracker服务启动成功后,会在base_path下创建data、logs两个目录。目录结构如下:
${base_path}
|__ __ data
|  |__ __ storage_groups.dat:# 存储分组信息
|  |__ __ storage_servers.dat:# 存储服务器列表
|__ __ logs
|  |__ __ trackerd.log: tracker server # 日志文件

2、配置存储服务器Storage Server

通过mkdir命令创建/home/python/fastdfs/storage目录、用于存放storage数据和日志:

# 配置文件是否不生效,false 为生效
disabled=false
# 指定此 storage server 所在 组(卷)
group_name=group1
# storage server # 服务端口
port=23000
# 心跳间隔时间,单位为秒 (这里是指主动向 tracker server 发送心跳)
heart_beat_interval=30
# Storage 数据和日志目录地址(根目录必须存在,子目录会自动生成)
base_path=/home/python/fastdfs/storage
# 存放文件时 storage server 支持多个路径。这里配置存放文件的基路径数目,通常只配一个目录。
store_path_count=1
# 逐一配置 store_path_count 个路径,索引号基于 0。
# 如果不配置 store_path0,那它就和 base_path 对应的路径一样。
store_path0=/home/python/fastdfs/storage
# FastDFS 存储文件时,采用了两级目录。这里配置存放文件的目录个数。
# 如果本参数只为 N(如: 256),那么 storage server 在初次运行时,会在 store_path 下自动创建 N * N 个存放文件的子目录。
subdir_count_per_path=256
# tracker_server 的列表 ,会主动连接 tracker_server
# 有多个 tracker server 时,每个 tracker server 写一行(也可以通过HAproxy+KeepAlived实现集群)
tracker_server=172.16.200.12:22122
# 允许系统同步的时间段 (默认是全天) 。一般用于避免高峰同步产生一些问题而设定。
sync_start_time=00:00 sync_end_time=23:59

img

img

img

img

img

img

注:

设置 Storage 开机启动

chkconfig fdfs_storaged on
# 或者:
vim /etc/rc.d/rc.local
# 加入配置:
/etc/init.d/fdfs_storaged start

Storage 目录

同 Tracker,Storage 启动成功后,在base_path 下创建了data、logs目录,记录着 Storage Server 的信息。

在 store_path0 目录下,创建了N*N个子目录:

img

3、启动tracker和storage服务

注:通过sudo service fdfs_trackerd start和sudo service fdfs_storaged start命令分别启动tracker和storage服务、如果提示Failed to start fdfs_trackerd.service: Unit fdfs_trackerd.service not found.错误、则可以通过/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start和/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start命令启动tracker和storage服务、启动完成之后通过ps aux | grep fdfs命令查看tracker和storage进程。img

4、fastDFS命令工具如下、在/usr/bin目录

fdfs_appender_test
fdfs_appender_test1
fdfs_append_file
fdfs_crc32
fdfs_delete_file
fdfs_download_file
fdfs_file_info
fdfs_monitor
fdfs_storaged
fdfs_test
fdfs_test1
fdfs_trackerd
fdfs_upload_appender
fdfs_upload_file
stop.sh
restart.sh

三:上传文件测试

在上传文件之前我们需要把/etc/fdfs/client.conf.sample文件复制一份为/etc/fdfs/client.conf、并修改配置如下:

img

在ubuntu /root目录下存放一张图片、然后通过命令 上传图片

fdfs_upload_file /etc/fdfs/client.conf /root/celery.png
# 上传成功后会返回文件ID号:group1/M00/00/00/rBDIC1xJt-2AKfkBAAG9BTSa4Ag921.png

img

返回的文件ID由group、存储目录、两级子目录、fileid、文件后缀名(由客户端指定,主要用于区分文件类型)拼接而成。

img

推荐文章