FastDFS安装教程(单机)
2021/6/15 18:23:53
本文主要是介绍FastDFS安装教程(单机),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
0.安装包
所有的组件都可以从github或者gitee上下载,这是fastdfs开发团队在github的开源项目:https://github.com/happyfish100
注意:每个组件都有个HISTORY文件,在里面可以看各版本兼容
1.libfastcommon:版本1.0.51,fastdfs的基础C函数库 ,点我下载
2.fastdfs :版本6.07,fastdfs核心组件,点我下载
3.fastdfs-nginx-module:版本1.22,fastdfs集成nginx模块,点我下载
4.nginx:版本1.20.1,nginx模块,点我下载
安装的时候最好用root权限的账户,因为涉及到安装和更改配置文件等操作
1.安装libfastcommon
tar -zxvf libfastcommon-1.0.51.tar.gz
cd libfastcommon-1.0.51/
./make.sh
./make.sh install (注意:这里要有root权限)
2.安装FastDFS
tar -zxvf fastdfs-6.07.tar.gz
./make.sh
./make.sh install (注意:这里要有root权限)
3.配置FastDFS跟踪器(Tracker)
- 进入 /etc/fdfs,将 tracker.conf.sample重命名为 tracker.conf。解释:这里面.sample的文件都是样例文件,可以在此基础上修改配置。
cd /etc/fdfs
cp tracker.conf.sample tracker.conf
vim tracker.conf
- 编辑文件,找到以下内容并按实际情况修改
# Tracker 数据和日志目录地址(根目录必须存在,子目录会自动创建) base_path=/ljzsg/fastdfs/tracker # HTTP 服务端口 http.server_port=80
如果目录不存在,记得手动创建
- 启动tracker
service fdfs_trackerd start
- 检查进程是否成功启动
ps -ef|grep fdfs_trackerd
4.配置 FastDFS 存储 (Storage)
- 依然更改配置文件
cd /etc/fdfs
cp storage.conf.sample storage.conf
vim storage.conf
- 编辑文件,找到以下内容并按实际情况修改
# Storage 数据和日志目录地址(根目录必须存在,子目录会自动生成) base_path=/ljzsg/fastdfs/storage # 逐一配置 store_path_count 个路径,索引号基于 0。 # 如果不配置 store_path0,那它就和 base_path 对应的路径一样。 store_path0=/ljzsg/fastdfs/file # tracker_server 的列表 ,会主动连接 tracker_server # 有多个 tracker server 时,每个 tracker server 写一行 tracker_server=file.ljzsg.com:22122 # 访问端口 http.server_port=80
如果目录不存在,记得手动创建
- 启动storage
service fdfs_storaged start
- 检查进程是否成功启动
ps -ef|grep fdfs_storaged
- 查看Storage和Tracker是否在通信
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
5. 文件上传测试
- 修改 Tracker 服务器中的客户端配置文件
cd /etc/fdfs
cp client.conf.sample client.conf
vim client.conf
- 编辑文件,找到以下内容并按实际情况修改
# Client 的数据和日志目录 base_path=/ljzsg/fastdfs/client # Tracker端口 tracker_server=file.ljzsg.com:22122
如果目录不存在,记得手动创建
- 上传测试
ps:假设在linux本地上传一个 fastdfs-nginx-module-1.22.tar.gz 压缩包
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /opt/aspire/product/cmop/fastdfs/fastdfs-nginx-module-1.22.tar.gz
上传成功,返回了一个id:group1/M00/00/00/CgHLUWDIUI2AF18pAABN8HAGbcY.tar.gz
- 验证文件
可以到存储路径里验证一下:
6.安装nginx
如果已安装,可以跳过1、2步骤
- 解压
tar -zxvf nginx-1.20.1.tar.gz
cd nginx-1.20.1
- 安装到指定目录
./configure --prefix=自定义用户目录
make
make install
- 修改nginx.conf
vim 自定义用户目录/conf/nginx.conf
- 添加以下内容
location ~/group([0-9])/M00 {
ngx_fastdfs_module;
}
(注意:listen 80 是默认端口值,可根据实际情况修改)
7.添加FastDFS 集成 Nginx 模块
- 说明
fastdfs-nginx-module 模块说明
FastDFS 通过 Tracker 服务器,将文件放在 Storage 服务器存储, 但是同组存储服务器之间需要进行文件复制, 有同步延迟的问题。
假设 Tracker 服务器将文件上传到了 192.168.51.128,上传成功后文件 ID已经返回给客户端。
此时 FastDFS 存储集群机制会将这个文件同步到同组存储 192.168.51.129,在文件还没有复制完成的情况下,客户端如果用这个文件 ID 在 192.168.51.129 上取文件,就会出现文件无法访问的错误。
而 fastdfs-nginx-module 可以重定向文件链接到源服务器取文件,避免客户端由于复制延迟导致的文件无法访问错误。
- 解压
tar -zxvf fastdfs-nginx-module-1.22.tar.gz
(找到解压出来的文件,找到里面有个src文件,记住它的路径,下一步要用到)
- 配置Nginx
cd nginx-1.20.1
如果你的nginx安装在默认目录:
./configure --add-module=全路径名/fastdfs-nginx-module-1.22/src
如果你的nginx安装在指定目录:
./configure --prefix=自定义用户目录 --add-module=全路径名/fastdfs-nginx-module-1.22/src
ps:这里的src路径就是上一步的src路径
- 重新编译安装
如果你的nginx安装在默认目录:
make && make install
如果你的nginx安装在指定目录:
./configure --prefix=自定义用户目录 && make && make install
- 复制 fastdfs-nginx-module 源码中的配置文件到/etc/fdfs 目录
cd …/fastdfs-nginx-module-master/src
cp mod_fastdfs.conf /etc/fdfs/
- 修改配置,以下内容按照实际情况修改
vim /etc/fdfs/mod_fastdfs.conf
# 连接超时时间 connect_timeout=10 # 日志存放路径 base_path=/tmp # Tracker Server tracker_server=file.ljzsg.com:22122 # 如果文件ID的uri中包含/group**,则要设置为true url_have_group_name = true # Storage 配置的store_path0路径,必须和storage.conf中的一致 store_path0=/ljzsg/fastdfs/file
如果目录不存在,记得手动创建
- 复制 FastDFS 的部分配置文件到/etc/fdfs 目录
cd …/fastdfs-6.07/conf/
cp anti-steal.jpg http.conf mime.types /etc/fdfs/
- 测试nginx
进入nginx的sbin目录
再执行命令:
./nginx -t
- 启动nginx
./nginx
- 验证
在地址栏访问,能下载完成就算成功
http://file.ljzsg.com/group1/M00/00/00/CgHLUWDIUI2AF18pAABN8HAGbcY.tar.gz
至此FastDFS服务端(单机)安装结束
注意事项:
1.如果你在配置文件里有填写自定义路径的,记得一定要手动创建路径,程序不会自己创建,并且启动会失败且没有提示
2.FastDFS的java客户端有几种jar包:
-- 官方jar包 <dependency> <groupId>org.csource</groupId> <artifactId>fastdfs-client-java</artifactId> <version>1.29-SNAPSHOT</version> </dependency> -- spring项目jar包 <dependency> <groupId>net.oschina.zcx7878</groupId> <artifactId>fastdfs-client-java</artifactId> <version>1.27.0.0</version> </dependency> -- springboot项目jar包 <dependency> <groupId>com.github.tobato</groupId> <artifactId>fastdfs-client</artifactId> <version>1.27.2</version> </dependency>
在github上有官方的jar包:https://github.com/happyfish100/fastdfs-client-java
如果是springboot项目:也有com.github.tobato封装的springboot使用的jar包
3.因为客户端种类颇多,每个人项目不一样,这里暂不介绍客户端的安装,可以自行百度自己项目对应的客户端
文章参考:https://www.cnblogs.com/chiangchou/p/fastdfs.html#_label0
这篇关于FastDFS安装教程(单机)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15JavaMailSender是什么,怎么使用?-icode9专业技术文章分享
- 2024-11-15JWT 用户校验学习:从入门到实践
- 2024-11-15Nest学习:新手入门全面指南
- 2024-11-15RestfulAPI学习:新手入门指南
- 2024-11-15Server Component学习:入门教程与实践指南
- 2024-11-15动态路由入门:新手必读指南
- 2024-11-15JWT 用户校验入门:轻松掌握JWT认证基础
- 2024-11-15Nest后端开发入门指南
- 2024-11-15Nest后端开发入门教程
- 2024-11-15RestfulAPI入门:新手快速上手指南