FastDFS 下载安装和使用FastDFS

1 篇文章 0 订阅
1 篇文章 0 订阅

FastDFS 下载安装和(使用FastDFS)

所有资源文件如果出现链接过期情况 可以第一时间联系博主 — . —

因为博主自己在下载安装和使用的时候是踩了很多坑的所有整理出这篇博客供大家参考,如果发现问题请及时指出噢!(有问题也给俺憋着听到没-.-)

需要从官网下载我们所需要的依赖包 FastDFS官网传送门

1.下载FastDFS所需要的依赖包
在这里插入图片描述
点击第一个进去之后会看到如下图,选择第三个月份日期为2014-12-02(听说这个版本很稳定)
在这里插入图片描述
点击进去后你会看到如下图你可以直接点击开始下载
在这里插入图片描述
记住上面的步骤 接下来你将以同样的方式下载其他依赖
在这里插入图片描述
如果因为某种原因下载不了以上依赖文件 可以使用博主的依文件赖 传送门
依赖提取码: 3t3j

2.检查安装环境、安装bfastcommon库、安装FastDFS

①使用如下命令安装gcc、libevent、libevent-devel

yum install gcc libevent libevent-devel -y

②将下载好的libfastcommon-1.0.36.tar.gz上传到linux,(参考:博主安装位置/opt)使用如下命令解压

tar -zxvf libfastcommon-1.0.36.tar.gz

解压后进入该目录使用以下命令进行脚本编译

./make.sh

执行完成后执行如下命令进行安装

./make.sh install

③将下载好的fastdfs-5.11.tar.gz上传到linux,(参考:博主安装位置/opt)使用如下命令解压

tar -zxvf fastdfs-5.11.tar.gz

解压后进入该目录使用以下命令进行脚本编译

./make.sh

执行完成后执行如下命令进行安装

./make.sh install

安装完成须知:
至此FastDFS安装完成所有编译出来的文件存放在/usr/bin目录下所有配置文件存放在/etc/fdfs目录下

3.FastDFS的文件配置和启动

①进入到fastdfs-5.11/conf中,复制两个文件到/etc/fdfs目录下使用如下命令

cp htp.conf /etc/fdfs/
cp mime.types /etc/fdfs/

②进入/etc/fdfs中将 tracker.conf.sample和storage.conf.sample两个文件copy一份将后缀名全部去掉然后开始修改第一个配置文件 tracker.conf
在这里插入图片描述

//配置tracker存储数据的目录,这个目录是不存在的需要手动创建
base_path=/opt/fastdfs/tracker

接着修改修改storage.conf文件对如下3张图做修改

1.1#storage存储数据目录

//这个目录是不存在的需要手动创建
base_path=/opt/fastdfs/storage

在这里插入图片描述
1.2真正存放文件的目录

//这个目录是不存在的需要手动创建
store_path0=/opt/fastdfs/storage/files

在这里插入图片描述
1.3注册当前存储节点的跟踪器地址

tracker_server=192.168.*.*:22122

在这里插入图片描述
修改完成之后将文件上传到原位置

1.4在Linux服务器上创建上面指定的目录

/opt/fastdfs/tracker

/opt/fastdfs/storage

/opt/fastdfs/storage/files

2.FastDFS启动

FastDFS服务启动需要启动两个脚本:

①启动FastDFS的tracker服务

在任意目录下执行以下命令:

fdfs_trackerd /etc/fdfs/tracker.conf

②启动FastDFS的storage服务

在任意目录下执行以下命令:

fdfs_storaged /etc/fdfs/storage.conf

完全上述命令后你可以使用如下命令查看是否启动成功:

ps -ef | grep fdfs

在这里插入图片描述
如上图表示你可能应该大概差不多算是启动成功了吧!

超正经的小贴士:

博主在此处总共出现两次错误导致启动失败仅供参考:
1.因为使用的是阿里云的服务器所有我们需要去控制台防火墙中开放端口:22122
2.在此/opt/fastdfs/tracker目录下的文件名称跟storage.conf配置的文件名不一致
提示:
根据进程信息你可以查看到底是那个服务没有成功开启就前往谁日志记录文件中比如storage服务启动失败 你可以前往/opt/fastdfs/storage/logs目录下的storaged.log中查看日志信息 反之tracker服务启动失败你可以前往/opt/fastdfs/tracker/logs目录下的trackerd.log中查看日志信息,根据日志信息你可以很轻松的找出错误!

以上便是FastDFS的配置和启动----------------完结撒花~~~~~~~~

如果你想继续学习FastFDS的基本使用的话请系上安全带即可发车我准备好了

基本命令
①重启服务

重启tracker

fdfs_trackerd /etc/fdfs/tracker.conf restart

重启storage

fdfs_storaged /etc/fdfs/storage.conf restart

②关闭服务

关闭tracker

fdfs_trackerd /etc/fdfs/tracker.conf stop

关闭storage

fdfs_storaged /etc/fdfs/storage.conf stop

③查看进程服务

ps -ef | grep fdfs

FastDFS测试上传文件
– 测前准备(上几步有涉及类似操作故此步没有截图演示)

–找到/etc/fdfs 目录下的client.conf配置文件修改其中两个配置

//这个目录是不存在的需要手动创建
1. base_path=/opt/fastdfs/client
2. tracker_server=192.168.*.*:22122


接着 在/opt/fastdfs/目录下创建client

超正经的小贴士:

注意博主使用的是阿里云服务器需要提前开放 23000端口 否则后面会报出异常 你也可尝试不开启端口查看异常信息后再开放端口

创建一个txt文件用于测试上传 例如 xiaoou.txt 假设放在/usr 下面
接着使用我们的文件上传命令

fdfs_test /etc/fdfs/client.conf upload /usr/xiaoou.txt

出现如下信息表示文件上传成功!

This is FastDFS client test program v5.11

Copyright (C) 2008, Happy Fish / YuQing

FastDFS may be copied only under the terms of the GNU General
Public License V3, which may be found in the FastDFS source kit.
Please visit the FastDFS Home Page http://www.csource.org/ 
for more detail.

[2021-05-31 19:58:37] DEBUG - base_path=/opt/fastdfs/client, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0

tracker_query_storage_store_list_without_group: 
	server 1. group_name=, ip_addr=120.25.*.*, port=23000

group_name=group1, ip_addr=120.25.*.*, port=23000
storage_upload_by_filename
小欧无敌帅:group_name=  组名——> group1, remote_filename=
远程文件名——>M00/00/00/rBEIbmC0z22ARj4xAAAACuCC-7I858.txt
source ip address: 172.17.8.110
file timestamp=2021-05-31 19:58:37
file size=10
file crc32=3766680498
example file url: http://120.25.*.*/group1/M00/00/00/rBEIbmC0z22ARj4xAAAACuCC-7I858.txt
storage_upload_slave_by_filename
group_name=group1, remote_filename=M00/00/00/rBEIbmC0z22ARj4xAAAACuCC-7I858_big.txt
source ip address: 172.17.8.110
file timestamp=2021-05-31 19:58:37
file size=10
file crc32=3766680498
example file url: http://120.25.**.***/group1/M00/00/00/rBEIbmC0z22ARj4xAAAACuCC-7I858_big.txt

你可以使用如下命令来查看你上传的文件情况:

cd /opt/fastdfs/storage/files/data/00/00
依次为 : 从文件  --  从属性文件    ---   主文件  ---  主属性信息

测试下载文件和删除文件

①下载文件需要 拿到两个参数 1. 组名 2.远程文件名

参数位置处于上图代码块中 标注"小欧无敌帅" 的位置
切换任意目录输入:

例子:

fdfs_test /etc/fdfs/client.conf download group1 M00/00/00/rBEIbmC0z22ARj4xAAAACuCC-7I858.txt

语法:

fdfs_test /etc/fdfs/client.conf download 组名  远程文件名

②删除文件仍然需要 拿到两个参数 1. 组名 2.远程文件名

参数位置处于上图代码块中 标注"小欧无敌帅" 的位置
切换任意目录输入:

例子:

fdfs_test /etc/fdfs/client.conf delete group1 M00/00/00/rBEIbmC0z22ARj4xAAAACuCC-7I858.txt

语法:

fdfs_test /etc/fdfs/client.conf delete   组名  远程文件名

使用http访问FastDFS

环境准备:(这里以博主的文件目录进行讲解)

①将之前下载好的 fastdfs-nginx-module-master.zip 上传到linux中 博主上传到/opt目录下,使用以下命令解压:

unzip fastdfs-nginx-module-master.zip

没有安装unzip的可以 使用如下命令进行安装然后再解压:

yum install unzip zip

②需要安装Nginx并且添加FastDFS

超正经的小贴士:

因为这个FastDFS模块必须在Nginx的安装的过程中才能添加,如果有小伙伴之前已经安装过了还是得重新安装一个的,所有我们现在需要重新安装一个nginx,为了和原来已安装的Nginx进行区分,我们把新安装的Nginx取名为nginx99
没有安装过nginx得小伙伴可以当博主在此处放了一个屁 滂臭得那种!

不会有人连nginx安装包都没有吧?

别看了 说的就是你! 害! 本博主为你双送奉上 -.- — -.-

传送门
提取码: cuu2

③ 上传nginx到linux中,博主上传到/opt目录下,使用以下命令解压:

tar -zxvf   nginx-1.18.0.tar.gz

解压完成后进入nginx文件主目录中开始配置 使用如下命令安装Nginx的FastDFS扩展模块:

./configure --prefix=/usr/src/nginx-99 --add-module=/opt/fastdfs-nginx-module-master/src

//其中  --prefix是指定nginx安装路径,此时这个目录并不存在需要后面手动创建

//	--add-module指定fastDFS的nginx模块的源代码路径,即是你 fastdfs-nginx-module-master.zip
解压完成后的文件 主目录下的 /src  目录

//上面是以博主得目录进行举例的  

执行如下命令进行编译:

make

执行如下命令进行安装:

make install

超正经的小贴士:

我们知道,Nginx的安装需要Linux安装相关的几个库,否则编译会出现错误
一键安装神器: 使用如下命令 已经安装

yum install gcc openssl openssl-devel pcre pcre-devel zlib zlib-devel –y

接着进入到/opt/fastdfs-nginx-module-master/src 目录下 将 mod_fastdfs.conf 文件拷贝出来 并做如下修改:

#基础路径
base_path=/opt/fastdfs/nginx
//目前暂时没有存在这个文件 需要手动创建

#ip地址
tracker_server=120.25..:22122

#请求是否包含组名
url_have_group_name = true

#文件存放路径
store_path0=/opt/fastdfs/storage/files

切换至 /opt/fastdfs/ 使用如下命令手动创建nginx 文件

mkdir nginx

进入到 /usr/src/nginx-99 中,这个是我们nginx的安装目录,上面配置过 以自己配置的为准,继续进入到 conf中,将nginx.conf拷贝出去作修改为如下(),学习过nginx的应该都对这个文件很熟悉好哈哈
如图:
在这里插入图片描述

location ~ /group[1-9]/M0[0-9] {
ngx_fastdfs_module;
}

接下来 开始启动FastDFS的Nginx:
先使用如下命令测试配置文件是否配置正确:

/usr/src/nginx-99/sbin/nginx -c  /usr/src/nginx-99/conf/nginx.conf -t

出现如下则表示无误

ngx_http_fastdfs_set pid=28845
nginx: the configuration file /usr/src/nginx-99/conf/nginx.conf syntax is ok
nginx: configuration file /usr/src/nginx-99/conf/nginx.conf test is successful

直接启动

/usr/src/nginx-99/sbin/nginx -c  /usr/src/nginx-99/conf/nginx.conf

超正经的小贴士:

此时如果你linux也安装了一个nginx的话并且两个nginx端口皆是80那么 你就会出现如下错误,表示 端口冲突 不能启动 查看进程会发现果然没有启动成功,解决方案就是进入到任意nginx的配置文件中修改 默认端口 为 其他端口号 再次启动则正常启动

ngx_http_fastdfs_set pid=28885
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()

如果出现其他问题 博主给出以下建议:

  • 检查mod_fastdfs.conf 文件有没有放入到/etc/fdfs 下
  • 检查mod_fastdfs.conf 文件中的配置是否错误 比如基础路径不存在或者对应不上

准备工作就绪后 此时你就可以开始 上传文件测试了 祝你成功 nice

此时再次照顾一下linux安装了两个nginx的小伙伴
1.假如你此时上传了一个文件 并且尝试用fastdfs给你生成的链接去访问你应该记住以下两点:

  1. 阿里云防火墙开放 上面那个你修改的那个端口号 比如我修改的是8008 name我就要开放8008端口
  2. 修改完成后在你的ip后面跟上你修改的端口号进行访问

例如:

http://120.25.*.*:8008/group1/M00/00/00/rBEIbmC2HheAJSpsAAACoPP0VWw988_big.txt

本期只是教大家简单的使用 下期会通过普通java项目、maven构建的web项目,以及springboot进行整合开发

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李济号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值