FastDFS单节点搭建
FastDFS单节点搭建
FastDFS是什么?我们这里可以看一下度娘的解释。FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。我这里使用服务器环境是centos7
注意:FastDFS只能上传500MB的小文件
0.版本情况
- libfastcommon-V1.0.66
- libserverframe-V1.1.25
- FastDFS-V6.9.4
- nginx-1.14.0
- fastdfs-nginx-module-V1.23
1. FastDFS角色简介
tracker
:跟踪者,负责调度存储服务。
storage
:用于文件存储。
client
:调用tracker
2. FastDFS文件上传流程
3. 开始安装
3.1 安装相关工具类
如果已经安装vim与wget可以跳过这一步
yum -y install vim wget unzip
3.2 安装相关依赖
yum install -y gcc-c++ perl
3.3 安装libfastcommon
-
下载libfastcommon
官方下载地址
https://github.com/happyfish100/libfastcommon/archive/refs/tags/V1.0.66.tar.gz
-
解压文件
tar -zxvf V1.0.66.tar.gz
-
解压完成生成如下目录:
-
-
进入解压目录
cd libfastcommon-1.0.66/
-
进行编译安装
./make.sh && ./make.sh install
如上就是安装成功
如果执行出现如下错误:
执行一下命令即可:
yum -y install gcc automake autoconf libtool make
3.4 安装FastDFS
-
回到root目录,下载FastDFS
cd /root wget https://github.com/happyfish100/fastdfs/archive/refs/tags/V6.9.4.tar.gz
-
解压文件
tar -zxvf V6.9.4.tar.gz
-
进行编译安装
./make.sh clean && ./make.sh && ./make.sh install
执行成功如上图
如果编译有如下问题就是,fastdfs高版本还需要安装一个依赖
libserverframe
安装libserverframe命令如下
cd /root wget https://github.com/happyfish100/libserverframe/archive/refs/tags/V1.1.25.tar.gz tar -zxvf V1.1.25.tar.gz cd libserverframe-1.1.25 ./make.sh clean && ./make.sh && ./make.sh install
3.5 修改配置文件
-
配置文件位置
cd /etc/fdfs/
-
分别创建client,storage,tracker文件夹
mkdir -p /home/software/fastfdfs/fdfa/client mkdir -p /home/software/fastfdfs/fdfa/storage mkdir -p /home/software/fastfdfs/fdfa/tracker
-
修改client.conf配置文件
vim client.conf
使用 :set number 显示行数
修改第十行,确定日志文件文件日志,这里用我们刚刚创建client文件夹路径
修改tracker_server地址,我这里是单节点就是本机地址,如果tracker服务器是其他服务器填写其他服务器即可
-
修改storage.conf配置文件
vim storage.conf
使用 :set number 显示行数
修改base_path为我们之前创建的目录
修改store_path0,storage.conf已经说了如果这个路径不存在,会依照base_path.为了不出意外,我们配置一下这个路径
修改tracker_server地址
-
修改tracker.conf文件配置文件
vim tracker.conf
使用 :set number 显示行数
修改base_path为我们之前创建的目录
修改存储分组为group1
4. 启动tracker与storage
-
启动tracker
fdfs_trackerd /etc/fdfs/tracker.conf start
-
启动storage
fdfs_storaged /etc/fdfs/storage.conf start
-
测试是否启动成功,我们尝试上传文件。我的root文件夹下有一张图片
fdfs_test /etc/fdfs/client.conf upload /root/image-20230330155702031.png
如上图代表成功了
此处如果测试连接失败,需要开启服务器的
22122
和23000
端口
5. 安装nginx访问图片
5.1 安装nginx依赖及nginx下载及解压
#安装nginx依赖
yum -y install gcc-c++ zlib-devel pcre-devel
#下载nginx(我是放在root目录下的 cd /root)
wget http://nginx.org/download/nginx-1.14.0.tar.gz
#解压nginx
tar zxvf nginx-1.14.0.tar.gz
5.2 下载fastdfs的nginx模块fastdfs-nginx-module
#下载依赖 (我是放在root目录下的 cd /root)
wget https://github.com/happyfish100/fastdfs-nginx-module/archive/refs/tags/V1.23.tar.gz
#解压
tar -zxvf V1.23.tar.gz
5.3 创建nginx安装目录
mkdir -p /home/software/nginx
5.4 进行配置检测并且添加模块
# cd nginx-1.14.0
cd nginx-1.14.0
#进行配置检测并且添加模块
./configure --prefix=/home/software/nginx --add-module=/root/fastdfs-nginx-module-1.23/src
–prefix : 我们刚刚创建的nginx的安装目录
–add-module:解压后模块所在目录,记得要加上src
上图代表执行成功可以进行下一步
5.4 编译并安装Nginx
cd /root/nginx-1.14.0
make && make install
上图代表nginx编译安装成功
5.5 复制fastdfs配置文件到fastdfs安装目录下
复制配置文件至/etc/fdfs里面去
#切换至fastdfs的解压包里面去
cd /root/fastdfs-6.9.4/
#复制配置文件
cp conf/http.conf /etc/fdfs/
cp conf/mime.types /etc/fdfs/
5.6 复制fastdfs-nginx-module配置文件到fastdfs安装目录下
切换至fastdfs-nginx-module的解压目录下面
cd /root/fastdfs-nginx-module-1.23/
cp src/mod_fastdfs.conf /etc/fdfs/
5.7 修改/etc/fdfs下面的mod_fastdfs.conf配置文件
vim /etc/fdfs/mod_fastdfs.conf
修改如下图三处为自己的配置
5.8 修改nginx配置文件
vim /home/software/nginx/conf/nginx.conf
修改如下图效果:注释掉44和45行新增ngx_fastdfs_module;
5.9 Nginx配置文件的检验
cd /home/software/nginx/sbin/
#进行配置检验
./nginx -t -c /home/software/nginx/conf/nginx.conf
效果如下代表配置文件没有问题
5.10 启动Nginx
cd /home/software/nginx/sbin/
#启动Nginx
./nginx
5.11 测试上传文件然后浏览器访问
我在root目录下通过xftp上传了一张图片
fdfs_test /etc/fdfs/client.conf upload /root/image-20230330155702031.png
上传成功,访问下面的地址。我这里关闭了防火墙。如果我们的服务器有防火墙,记得打开80端口
访问效果如下: