搭建单机版FastDFS分布式文件存储系统

一、准备工作

1、下载FastDFS安装包和依赖包

https://codeload.github.com/happyfish100/libfastcommon/tar.gz/V1.0.43

https://codeload.github.com/happyfish100/fastdfs/tar.gz/V6.06

https://codeload.github.com/happyfish100/fastdfs-nginx-module/tar.gz/V1.22

注:可以使用window浏览器(下载后需要上传到服务器上),也可以使用linux的curl命令

bash 复制代码
curl -o libfastcommon-1.0.43.tar.gz https://codeload.github.com/happyfish100/libfastcommon/tar.gz/V1.0.43
curl -o fastdfs-6.06.tar.gz https://codeload.github.com/happyfish100/fastdfs/tar.gz/V6.06
curl -o fastdfs-nginx-module-1.22.tar.gz https://codeload.github.com/happyfish100/fastdfs-nginx-module/tar.gz/V1.22

2、下载nginx,可以结合fastdfs-nginx-module插件,在浏览器上访问文件

nginx: download页面

注:也可以使用curl命令直接下载到linux服务器上,这里使用的nginx版本是1.22

bash 复制代码
curl -O http://nginx.org/download/nginx-1.22.1.tar.gz 

3、在/usr/local目录下创建fastdfs文件夹,并将下载的文件解压到该目录下,删除压缩包(减少存储占用,推荐)。

bash 复制代码
mkdir /usr/local/fastdfs

tar -zxvf fastdfs-6.06.tar.gz -C /usr/local/fastdfs
tar -zxvf fastdfs-nginx-module-1.22.tar.gz -C /usr/local/fastdfs
tar -zxvf libfastcommon-1.0.43.tar.gz -C /usr/local/fastdfs
tar -zxvf nginx-1.22.1.tar.gz -C /usr/local/fastdfs

rm -rf fastdfs-6.06.tar.gz fastdfs-nginx-module-1.22.tar.gz libfastcommon-1.0.43.tar.gz nginx-1.22.1.tar.gz

4、安装依赖,如果linux环境中有perl,则无需安装,否者需要安装

bash 复制代码
yum -y install gcc-c++ libevent pcre pcre-devel zlib zlib-devel openssl openssl-devel perl

二、安装fastdfs的依赖包 libfastcommon

1、进入/usr/local/fastdfs/libfastcommon-1.0.43目录下,执行编译安装

bash 复制代码
./make.sh # 编译
./make.sh install # 安装

三、安装fastdfs包

1、进入到/usr/local/fastdfs/fastdfs-6.06目录下,执行编译安装

bash 复制代码
./make.sh # 编译
./make.sh install # 安装

2、执行编译安装命令之后,如果不报错的话,软件会被安装到**/et/fdfs** 目录下,将/usr/local/fastdfs/fastdfs-6.06/conf目录下的所有文件复制到**/et/fdfs**目录下

bash 复制代码
cp /usr/local/fastdfs/fastdfs-6.06/conf/* /et/fdfs

3、创建tracker文件夹(存储路径使用)

bash 复制代码
mkdir -p /home/fastdfs/tracker

4、进入到**/et/fdfs**目录下修改tracker.conf文件

修改前:

22 # the base path to store data and log files

23 base_path = /home/yuqing/fastdfs

修改后:

22 # the base path to store data and log files

23 base_path = /home/fastdfs/tracker

5、启动tracker服务(跟踪器)

bash 复制代码
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

6、创建storage文件夹

bash 复制代码
mkdir -p /home/fastdfs/storage

7、进入到**/et/fdfs**目录下修改storage.conf文件

修改前:

48 # eg. the disk free space should > 50GB

49 base_path = /home/yuqing/fastdfs # 默认存储路径


127 # the base_path should be independent (different) of the store paths

128

129 store_path0 = /home/yuqing/fastdfs # 默认存储路径


143 # another eg.: 192.168.1.10,172.17.4.21:22122

144

145 tracker_server = 192.168.209.121:22122

146 tracker_server = 192.168.209.122:22122

修改后:

48 # eg. the disk free space should > 50GB

49 base_path = /home/fastdfs/storage


127 # the base_path should be independent (different) of the store paths

128

129 store_path0 = /home/fastdfs/storage


143 # another eg.: 192.168.1.10,172.17.4.21:22122

144

145 tracker_server = 本地IP:22122

146 tracker_server = 本地IP:22122

8、启动storage服务(存储器)

bash 复制代码
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf

9、创建client文件夹(客户端)

bash 复制代码
mkdir -p /home/fastdfs/client/

10、进入到**/et/fdfs**目录下修改client.conf文件

修改前:

10 # the base path to store log files

11 base_path = /home/yuqing/fastdfs


20 # another eg.: 192.168.1.10,172.17.4.21:22122

21

22 tracker_server = 192.168.0.196:22122

23 tracker_server = 192.168.0.197:22122

修改后:

the base path to store log files

base_path = /home/fastdfs/client


another eg.: 192.168.1.10,172.17.4.21:22122

tracker_server = 本地IP:22122

#tracker_server = 192.168.0.197:22122

11、测试系统是否可用

bash 复制代码
fdfs_test /etc/fdfs/client.conf upload storage.conf 

四,安装并配置nginx,(可浏览器访问)

1、进入到 /usr/local/fastdfs/nginx-1.22.1文件下

bash 复制代码
#配置nginx --prefix 安装目录,--with-http_ssl_module 使用ssl模块,--add-module 使用nginx插件
 ./configure --prefix=/usr/local/nginx --with-http_ssl_module --add-module=/usr/local/fastdfs/fastdfs-nginx-module-1.22/src

2、编译并安装nginx

bash 复制代码
make && make install

3、nginx安装目录/usr/local/nginx

4、配置nginx.conf文件

5、启动nginx,并访问浏览器,当我们访问文件地址的时候,会直接下载

相关推荐
ajassi20001 小时前
开源 C++ QT Widget 开发(十五)多媒体--音频播放
linux·c++·qt·开源
一叶飘零_sweeeet1 小时前
从手写 Redis 分布式锁到精通 Redisson:分布式系统的并发控制终极指南
redis·分布式·redisson
JosieBook2 小时前
【远程运维】Linux 远程连接 Windows 好用的软件:MobaXterm 实战指南
linux·运维·windows
文档搬运工2 小时前
Linux MInt启动速度的优化
linux
Broken Arrows3 小时前
Linux学习——管理网络安全(二十一)
linux·学习·web安全
在未来等你3 小时前
Kafka面试精讲 Day 13:故障检测与自动恢复
大数据·分布式·面试·kafka·消息队列
Light603 小时前
领码方案|Linux 下 PLT → PDF 转换服务超级完整版:异步、权限、进度
linux·pdf·可观测性·异步队列·plt转pdf·权限治理·进度查询
羚羊角uou4 小时前
【Linux】命名管道
linux·运维·服务器
cui_win4 小时前
基于Golang + vue3 开发的 kafka 多集群管理
分布式·kafka
iiYcyk4 小时前
kafka特性和原理
分布式·kafka