基于CentOS7 安装 FastDFS
Quick Start
安装fastDFS前准备工作,以CentOS7为例
FastDFS介绍
FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。
tracker-server:跟踪服务器, 主要作用是负载均衡和调度。在内存中记录了所有存储组和存储服务器的状态信息,是客户端和数据存储的主要枢纽。相比GFS更为精简,因为不记录文件索引。
storage-server: 存储服务器, 用于存储文件。直接使用操作系统的文件系统来管理和组织文件。
group: 组,卷。多个服务器存在一个组中,在一个组中的服务器存储的文件是完全相同的,并且同一个组的服务器地位是对等的。对于文件的操作可以在任意一个组中的服务器上进行。
metadata: 元数据,以键值对的方式存储,用于存储文件的相关信息。
首先,准备所需源码包
- libfastcommon 1.0.36: 下载地址
- fastDFS 5.11: 下载地址
- nginx 1.14.2: 下载地址
- fastdfs-nginx-module 1.20: 下载地址
安装系统依赖包
1 2 3 4
| #系统依赖包 yum install -y gcc gcc-c++ make cmake zlib zlib-devel pcre pcre-devel perl-ExtUtils-Embed openssl openssl-devel
|
安装libfastcommon工具包
1 2 3 4 5 6 7 8
| # libfastcommon tar -czf libfastcommon-1.0.36.tar.gz cd libfastcommon-1.0.36 ./make ./make install ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
|
安装fastFDS的Tracker服务(监听服务)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| # 安装 tar -czf fastdfs-5.11.tar.gz cd fastdfs-5.11 ./make ./make install cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf mkdir -p /home/fdfs
# 修改配置文件 vim /etc/fdfs/tracker.conf
# 配置文件需更改文件内容 disabled=false # 启用配置文件 port=22122 # 设置tracker的端口号 base_path=/home/fdfs # 设置tracker的数据文件和日志目录(需预先创建) http.server_port=9000 # 设置http访问的端口号
# 启动tracker fdfs_trackerd /etc/fdfs/tracker.conf start
# 查看是否启动 netstat -pln|grep fdfs
|
安装fastFDS的Storage服务(存储节点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| # 安装步骤与Tracker服务相同
# 新建storage服务所需目录 mkdir -p /home/fdfs/storage
# 安装完成后,修改配置文件 cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf vim /etc/fdfs/storage.conf
# 配置文件需更改文件内容 group_name=group1 # 组名(第一组为group1,第二组为group2,依次类推...) base_path=/home/fdfs # 改为:base_path=/home/fdfs store_path0=/home/fdfs/storage # 改为:store_path0=/home/fdfs/storage store_path_count=1 # 存储路径个数,需要和store_path个数匹配 tracker_server=192.168.2.235:22122 # 改为自己的ip, tracker服务器IP和端口,有多个则添加多行
# 启动tracker fdfs_storaged /etc/fdfs/storage.conf start
# 查看是否启动 netstat -pln|grep fdfs
# 在任意节点上查看集群状态 fdfs_monitor /etc/fdfs/storage.conf
|
安装Nginx服务, 并配置fastdfs-nginx-module模块,使nginx支持fastDFS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| # 解压fastdfs-nginx-module模块 tar -zxf fastdfs-nginx-module-1.20.tar.gz
# 拷贝配置文件 cp /home/fastdfs-nginx-module-1.20/src/mod_fastdfs.conf /etc/fdfs/
# 编辑配置文件 vim /etc/fdfs/mod_fastdfs.conf
# 配置文件mod_fastdfs.conf编辑内容 base_path=/home/fdfs # 改成:base_path=/home/fdfs tracker_server=192.168.2.235:22122 # 改成自己ip:tracker_server=192.168.2.235:22122,有多个按行添加 storage_server_port=23000 # storage服务器的端口号 group_name=group1 # 当前服务器的group名 url_have_group_name = true # 文件url中是否有group名 store_path_count=1 # 存储路径个数,需要和store_path个数匹配 store_path0=/home/fdfs/storage # 改成:store_path0=/home/fdfs/storage group_count = 1 # 设置组的个数,设置为0则为单组 # 在末尾增加组的具体信息(有几个group则增加几个) [group1] group_name=group1 storage_server_port=23000 store_path_count=1 store_path0=/home/fdfs/storage
# 安装nginx tar -zxf nginx-1.14.2.tar.gz cd nginx-1.14.2 ./configure --prefix=/home/nginx --add-module=/home/fastdfs-nginx-module-1.20/src make && make install
# 查看是否安装成功nginx cd /home/nginx ./nginx -V
# 拷贝conf文件到/etc/fdfs/ cp /usr/local/fastdfs/conf/http.conf /usr/local/fastdfs/conf/mime.types /etc/fdfs/
# 修改nginx配置文件支持fastDFS vim /home/nginx/conf/conf.d/default.conf
# nginx的配置文件核心修改内容
location ~/group[0-9]/M00 { root /home/fdfs/storage/data; ngx_fastdfs_module; }
|