linux fastDFS 安装配置

简述

FastDFS 是一个开源的高性能分布式文件系统(DFS)。 它的主要功能包括:文件存储,文件同步和文件访问,以及高容量和负载平衡。主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务。

安装

安装位置

Fastdfs中tracker目录: /data/fastdfs/tracker
Fastdfs中数据存储路径/日志: /data/fastdfs/storage/base
Fastdfs中数据存储真实存储路: /data/fastdfs/storage/data
Nginx最终安装路径: /usr/local/nginx

安装libevent (非必须)

Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,不如 ACE 那么臃肿庞大;源代码相当精炼、易读;跨平台,支持 Windows、 Linux、 *BSD 和 Mac Os;支持多种 I/O 多路复用技术, epoll、 poll、 dev/poll、 select 和 kqueue 等;支持 I/O,定时器和信号等事件;注册事件优先级。

[root@xx]# mkdir /usr/local/libevent
[root@xx]# ./configure --prefix=/usr/local/libevent/
[root@xx]# make
[root@xx]# make install

为libevent创建软链接到/lib库下,64位系统对应/lib64

[root@xx]# cd /usr/local/libevent
[root@xx]# ln -s lib/libevent-2.1.so.7 /usr/lib/libevent-2.1.so.7
[root@xx]# ln -s lib/libevent-2.1.so.7 /usr/lib64/libevent-2.1.so.7
[root@xx]# ln -s lib/libevent.so /usr/lib64/libevent.so
[root@xx]# ln -s lib/libevent.so /usr/lib/libevent.so

到此,libevent安装完成!

libfastcommon fastdfs 安装配置

libfastcommon是FastDFS官方提供的,libfastcommon包含了FastDFS运行所需要的一些基础库。

## 安装环境准备
yum install -y gcc gcc-c++
## 解压 编译
tar -zxvf libfastcommon-1.0.42.tar.gz
cd libfastcommon-1.0.42
./make.sh
./make.sh install

在这里插入图片描述
安装无报错说明安装成功

安装Fastdfs

conf 下的配置文件都需要复制到 /etc/fdfs/目录下

# 进入 /data/package/fastdfs 目录,解压缩 fastdfs-6.04.tar.gz 文件
cd /data/package/fastdfs
# 注意: 这里使用命令将明细输出到/dev/null 为了不刷太多控制台日志(实际无需加此重定向)。
tar -zxvf fastdfs-6.04.tar.gz > /dev/null
## 或者
tar -zxvf fastdfs-6.04.tar.gz  
cd fastdfs-6.04/
# 无报错则说明编译成功.
./make.sh
# 无报错则说明安装成功。
./make.sh install

配置

配置主要包含fastdfs中tracker和stroeage得存储目录配置,文档中数据全部存储在/data/fastdfs 目录中。
我们先来创建两个存储目录

在这里插入图片描述

配置tracker

跟踪器Tracker主要做调度工作,相当于mvc中的controller的角色,在访问上起负载均衡的作用。跟踪器和存储节点都可以由一台或多台服务器构成,跟踪器和存储节点中的服务器均可以随时增加或下线而不会影响线上服务,其中跟踪器中的所有服务器都是对等的,可以根据服务器的压力情况随时增加或减少。
跟踪器Tracker负责管理所有的Storage和group,每个Storage在启动后会连接Tracker。

创建tracker工作目录

这个目录可以自定义,用来保存tracker的data和log。文档中我们tracker目录存储在/data/fastdfs/tracker。

创建配置文件

tracker自带了一个.sample得说明文件,这个文件需要我们重新命名和修改,配置文件目录在/etc/fdfs。
在这里插入图片描述

将tracker.conf.sample文件复制一份,并且后缀名去掉.sample。
在这里插入图片描述

修改配置文件

说明: 主要修改一下base_path 数据存储路径。
在这里插入图片描述

启动tracker服务

service fdfs_trackerd start
在这里插入图片描述
出现提示两个【OK】说明启动成功了。

设置开机启动:
echo “service fdfs_trackerd start” |tee -a /etc/rc.d/rc.local
在这里插入图片描述

检测服务

进行刚刚创建的tracker目录,发现目录中多了data和log两个目录。并且通过进程查看发现fastdfs得22122端口已经开始监听。
在这里插入图片描述
到此说明tracker服务已经启动。

# 修改base_path 
cd /etc/fdfs/
vim tracker.conf
# 修改base_path 为 /user/local/fastDFS/tracker   

# 启动tracker
/usr/bin/fdfs_trackerd  /etc/fdfs/tracker.conf
ps -ef|grep tracker

配置storage

创建storage存储目录

与tracker不同的是,由于storage还需要一个目录用来存储数据,所以需要多建了两个目录fastdfs_storage_data,fastdfs_storage。
在这里插入图片描述
基础数据目录:
/data/fastdfs/storage/base
实际数据存储目录:
/data/fastdfs/storage/data

创建配置文件

进入/etc/fdfs目录中将自带得storage配置文件复制一份,去掉.sample后缀。
在这里插入图片描述

修改配置文件
主要修改配置文件中base_path路径store_path0两个参数,其他需要注意得参数如下:
1.disabled=false 
2.group_name=group1 #组名,根据实际情况修改 
3.port=23000 #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致 
4.base_path=/opt/fastdfs_storage #设置storage数据文件和日志目录 
5.store_path_count=1 #存储路径个数,需要和store_path个数匹配 
6.store_path0=/opt/fastdfs_storage_data #实际文件存储路径 
7.tracker_server=172.20.132.57:22122 #我CentOS7的ip地址
8.http.server_port=8888 #设置 http 端口号

开始修改配置文件(内容太长不方便截图,只修改了这几个地方):
base_path=/data/fastdfs/storage/base
store_path0=/data/fastdfs/storage/data
tracker_server=192.168.1.155:22122 #注意这里为本机IP,不能为127.0.0.1
tracker_server=192.168.1.156:22122 # fastdfs 双机互为主备的化这个地址为另外一台机器的tracker地址
启动storage服务

执行启动命令
service fdfs_storaged start
在这里插入图片描述
提示【ok】则说明启动成功。
设置开机启动:
修改rc.local
echo “service fdfs_storaged start” |tee -a /etc/rc.d/rc.local
在这里插入图片描述

检测服务

在这里插入图片描述
通过进程查看 fastdfs得storage服务已经启动。

#启动storage
# 如果storage.conf文件中的base_path store_path0 (如果新地址有 生成的data log文件需要删除)
/usr/bin/fdfs_storaged  /etc/fdfs/storage.conf
ps -ef|grep storage

整体验证

使用fastdfs自带工具进行验证,修改默认得client.conf文件。
进入/etc/fdfs/ 目录,基于sample文件创建client.conf文件

在这里插入图片描述
编辑client.conf文件
修改 tracker_server 和base_path。

base_path=/data/fastdfs/storage/base
tracker_server=192.168.1.155:22122
tracker_server=192.168.1.156:22122 # 如果要配置fastDfs双机主备,这里就要配置另外一台机器的tracker_server

测试上传
在这里插入图片描述

#测试上传
cd /etc/fdfs/
vim client.conf
# 修改base_path 为 /user/local/fastDFS/client
# 修改tracker_server=192.168.209.121:22122 为 tracker_server=127.0.0.1:22122
# 注释掉 tracker_server=192.168.209.122:22122

# 上传一张 1.jpg 到/user/local/fastDFS/client目录
# 云服务需要开启 22122 和23000端口
# 测试 (在1.jpg 所在目录进行测试)-
/usr/bin/fdfs_test  /etc/fdfs/client.conf upload 1.jpg
/usr/bin/fdfs_test  /etc/fdfs/client.conf upload /usr/local/fastDFS/client/1.jpg

# 上传成功后的返回的地址
# fastdfs 的路径为: /M00/00/00/gdNcvF8fkleAXrwZAAAq1fKogMI786_big.jpg
# 对外路径为:   http://129.211.92.188/group1/M00/00/00/gdNcvF8fkleAXrwZAAAq1fKogMI786_big.jpg

# 检测 fastdfs 是否启动
netstat -unltp|grep fdfs
## 查看ip
ifconfig | grep inet  

配置其他文件

如果只是单机的fastDfs,这里就不需要配置了。

注意,如果需要双机fastDfs互为主备,前面tracker和storage的配置中所有的tracker_server的地址都需要配置两台服务器的tracker_server。

client配置文件

[root@node1 fdfs]# cd /etc/fdfs 
[root@node1 fdfs]# cp client.conf.sample  client.conf

编辑client.conf 配置文件,参考如下配置:

base_path=/data/fastdfs/storage/base # 本地fastDfs的base目录
tracker_server=192.168.1.50:22122 # 本地tracker_server地址
tracker_server=192.168.1.166:22122 # 另外一台服务器tracker_server 的地址

Storage_ids配置文件

[root@node1 fdfs]# cd /etc/fdfs 
[root@node1 fdfs]#cp storage_ids.conf.sample  storage_ids.conf

编辑storage_ids.conf 文件,参考如下配置:

# <id>  <group_name>  <ip_or_hostname>
100001   group1  192.168.1.50
100002   group1  192.168.1.166

整合nginx

在每个tracker上安装nginx,的主要目的是做负载均衡及实现高可用。如果只有一台tracker可以不配置nginx。
一个tracker对应多个storage,通过nginx对storage负载均衡;

安装fastdfs-nginx-module模块

解压fastdfs-nginx-module模块,然后将src/mod_fastdfs.conf文件复制到/etc/fdfs/目录中,

在这里插入图片描述
编辑mod_fastdfs.conf文件,修改其中配置项。

base_path=/data/fastdfs/storage/base
tracker_server=192.1681.155:22122 
#tracker_server=192.1681.155:22122 #(多个tracker配置多行)
url_have_group_name=true        #url中包含group名称
store_path0=/data/fastdfs/storage/data  #指定文件存储路径(上面配置的store路径)
##
./configure  --prefix=/usr/local/nginx --add-module=/data/package/fastdfs/fastdfs-nginx-module-master/src/
##
make && make install

安装
在这里插入图片描述

配置

拷贝配置文件到 /etc/fdfs 下
在这里插入图片描述
修改nginx配置
在这里插入图片描述

比较重要得几个配置有:
在这里插入图片描述

在这里插入图片描述
注意: location里跨域需要添加:
add_header ‘Access-Control-Allow-Origin’ ‘*’;
在这里插入图片描述
1、server_name指定本机ip;
2、location /group1/M00/:group1为nginx 服务FastDFS的分组名称,M00是FastDFS自动生成编号,对应store_path0=/home/fdfs_storage,如果FastDFS定义store_path1,这里就是M01

启动服务

cd /usr/local/nginx/sbin/
./nginx 
错误

nginx启动日志报错:[ERROR - file:ini_file_reader.c,line:315,include file “http.conf” not ]

其他

storage 主要配置

base_path、store_path0、tracker_server 一般情况下是需要修改的

disabled=false 
group_name=group1 #组名,根据实际情况修改 
port=23000 #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致 
base_path=/opt/fastdfs_storage #设置storage数据文件和日志目录 
store_path_count=1 #存储路径个数,需要和store_path个数匹配 
store_path0=/opt/fastdfs_storage_data #实际文件存储路径 
tracker_server=172.20.132.57:22122 #我CentOS7的ip地址 
http.server_port=8888 #设置 http 端口号

mod_fastdfs.conf 主要配置

base_path、tracker_server、url_have_group_name、store_path0 一般情况下需要修改

base_path=/data/fastdfs/storage/base
tracker_server=192.1681.155:22122 
#tracker_server=192.1681.155:22122 #(多个tracker配置多行)
url_have_group_name=true        #url中包含group名称
store_path0=/data/fastdfs/storage/data  #指定文件存储路径(上面配置的store路径)

client.conf 主要配置

base_path=/data/fastdfs/storage/base # 本地fastDfs的base目录
tracker_server=192.168.1.50:22122 # 本地tracker_server地址
tracker_server=192.168.1.166:22122 # 另外一台服务器tracker_server 的地址

tracker.conf 主要配置

base_path=/data/fastdfs/tracker/base

fastdfs-nginx 安装配置

新装nginx添加fastdfs-nginx模块

nginx安装参考: nginx 安装 卸载
其他安装步骤与NGINX安装相同,不同之处是在执行 ./configure 需要添加 fastdfs-nginx配置

./configure --prefix=/usr/local/nginx  --add-module=/usr/local/fastDFS/fastdfs-nginx/src

已安装完的nginx添加fastdfs-nginx模块

## 查看已编译参数
/usr/local/nginx/sbin/nginx -V 
## 加上 fastdfs-nginx 重新编译
./configure --prefix=/usr/local/nginx  --add-module=/usr/local/fastDFS/fastdfs-nginx/src
## 备份旧的nginx 启动文件
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
## 复制新的NGINX启动文件到 nginx目录   (/opt/software/nginx-1.10.1 为源码路径)
cp /opt/software/nginx-1.10.1/objs/nginx /usr/local/nginx/sbin/nginx
##  验证模块是否已添加成功
/usr/local/nginx/sbin/nginx -V
## 停止nginx 重新启动
/usr/local/nginx/sbin/nginx -s reload

公共部分

修改nginx.conf

## 添加如下配置
location /group1/M00/ {
	root /usr/local/fastDFS/storage/data;
	ngx_fastdfs_module;

}

分布式文件存储选型

1 fastDFS
2 云服务OSS
3 MinIO

参考

FastDFS服务器搭建

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是Linux FastDFS安装配置的步骤: 1.下载FastDFS安装包并解压缩: ```shell wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz tar -zxvf V5.11.tar.gz ``` 2.安装libfastcommon: ```shell cd fastdfs-5.11/libfastcommon/ ./make.sh ./make.sh install ``` 3.安装FastDFS: ```shell cd ../fastdfs/ ./make.sh ./make.sh install ``` 4.配置Tracker服务器: ```shell cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf vi /etc/fdfs/tracker.conf ``` 在tracker.conf中修改base_path和http.server_port参数,例如: ``` base_path=/data/fastdfs/tracker http.server_port=8080 ``` 5.配置Storage服务器: ```shell cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf vi /etc/fdfs/storage.conf ``` 在storage.conf中修改base_path、store_path0、tracker_server参数,例如: ``` base_path=/data/fastdfs/storage store_path0=/data/fastdfs/storage tracker_server=192.168.36.100:22122 tracker_server=192.168.36.103:22122 ``` 6.配置客户端: ```shell cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf vi /etc/fdfs/client.conf ``` 在client.conf中修改base_path和tracker_server参数,例如: ``` base_path=/data/fastdfs/client tracker_server=192.168.36.100:22122 tracker_server=192.168.36.103:22122 ``` 7.配置Nginx: ```shell cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak vi /usr/local/nginx/conf/nginx.conf ``` 在http节点下添加如下配置: ``` location /group1/M00 { root /data/fastdfs/storage/data; ngx_fastdfs_module; } ``` 8.启动Tracker和Storage服务器: ```shell /etc/init.d/fdfs_trackerd start /etc/init.d/fdfs_storaged start ``` 9.测试FastDFS: ```shell echo "Hello, FastDFS!" > test.txt /usr/bin/fdfs_upload_file /etc/fdfs/client.conf test.txt ``` 以上是Linux FastDFS安装配置的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值