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)

  1. 进入 /etc/fdfs,将 tracker.conf.sample重命名为 tracker.conf。解释:这里面.sample的文件都是样例文件,可以在此基础上修改配置。

cd /etc/fdfs
cp tracker.conf.sample tracker.conf
vim tracker.conf

  1. 编辑文件,找到以下内容并按实际情况修改
# Tracker 数据和日志目录地址(根目录必须存在,子目录会自动创建)
base_path=/ljzsg/fastdfs/tracker
# HTTP 服务端口
http.server_port=80

如果目录不存在,记得手动创建

  1. 启动tracker

service fdfs_trackerd start

  1. 检查进程是否成功启动

ps -ef|grep fdfs_trackerd

在这里插入图片描述

4.配置 FastDFS 存储 (Storage)

  1. 依然更改配置文件

cd /etc/fdfs
cp storage.conf.sample storage.conf
vim storage.conf

  1. 编辑文件,找到以下内容并按实际情况修改
# 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

如果目录不存在,记得手动创建

  1. 启动storage

service fdfs_storaged start

  1. 检查进程是否成功启动

ps -ef|grep fdfs_storaged

在这里插入图片描述

  1. 查看Storage和Tracker是否在通信

/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

在这里插入图片描述

5. 文件上传测试

  1. 修改 Tracker 服务器中的客户端配置文件

cd /etc/fdfs
cp client.conf.sample client.conf
vim client.conf

  1. 编辑文件,找到以下内容并按实际情况修改
# Client 的数据和日志目录
base_path=/ljzsg/fastdfs/client

# Tracker端口
tracker_server=file.ljzsg.com:22122

如果目录不存在,记得手动创建

  1. 上传测试

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

  1. 验证文件

可以到存储路径里验证一下:
在这里插入图片描述

6.安装nginx

如果已安装,可以跳过1、2步骤

  1. 解压

tar -zxvf nginx-1.20.1.tar.gz
cd nginx-1.20.1

  1. 安装到指定目录

./configure --prefix=自定义用户目录
make
make install

  1. 修改nginx.conf

vim 自定义用户目录/conf/nginx.conf

  1. 添加以下内容

location ~/group([0-9])/M00 {
ngx_fastdfs_module;
}
在这里插入图片描述
(注意:listen 80 是默认端口值,可根据实际情况修改)

7.添加FastDFS 集成 Nginx 模块

  1. 说明

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 可以重定向文件链接到源服务器取文件,避免客户端由于复制延迟导致的文件无法访问错误。

  1. 解压

tar -zxvf fastdfs-nginx-module-1.22.tar.gz
(找到解压出来的文件,找到里面有个src文件,记住它的路径,下一步要用到)在这里插入图片描述

  1. 配置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路径

  1. 重新编译安装

如果你的nginx安装在默认目录:
make && make install
如果你的nginx安装在指定目录:
./configure --prefix=自定义用户目录 && make && make install

  1. 复制 fastdfs-nginx-module 源码中的配置文件到/etc/fdfs 目录

cd …/fastdfs-nginx-module-1.22/src
cp mod_fastdfs.conf /etc/fdfs/

  1. 修改配置,以下内容按照实际情况修改

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

如果目录不存在,记得手动创建

  1. 复制 FastDFS 的部分配置文件到/etc/fdfs 目录

cd …/fastdfs-6.07/conf/
cp anti-steal.jpg http.conf mime.types /etc/fdfs/

  1. 测试nginx

进入nginx的sbin目录
再执行命令:
./nginx -t
在这里插入图片描述

  1. 启动nginx

./nginx
在这里插入图片描述

  1. 验证

在地址栏访问,能下载完成就算成功
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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值