fastdfs安装
将文件传输到 usr/local/fastdfs 目录下
yum install unzip 上传文件后解压缩 unzip libfastcommon-master.zip 进入文件 cd libfastcommon-master/ 编译 ./make.sh 安装 ./make.sh install
创建软连接 因为 FastDFS 主程序设置的 lib 目录是/usr/local/lib,所以需要创建软链接 ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
FastDFS主程序安装
tar vxzf FastDFS_v5.08.tar.gz 解压 cd FastDFS/ 进入文件夹 ./make.sh 编译 ./make.sh install 安装
服务配置
在/etc/init.d/目录中,脚本文件是 fdfs-storaged和fdfs-trackerd
配置文件
配置文件在/etc/fdfs/目录中 tracker.conf.sample - 跟踪器服务配置文件模板 storage.conf.sample - 存储服务器配置文件模板 client.conf.sample - FastDFS提供的命令行客户端配置文件模板。可以通过命令行测试FastDFS有效性。
Tracker 服务
修改配置文件
复制一份模板配置文件
cd /etc/fdfs/
cp tracker.conf.sample tracker.conf
vim tracker.conf
将路径改为以下路径
base_path=/var/data/fastdfs-tracker
保存退出后创建该目录
mkdir -p /var/data/fastdfs-tracker
如果目录不存在 就会以迭代的方式创建目录
启动Tracker
service fdfs_trackerd start
fdfs_trackerd stop
停止
fdfs_trackerd restart
重启
启动
ps -fe | grep fdfs_trackerd
查看是否启动成功

启动 Storage
cd /etc/fdfs cp storage.conf.sample storage.conf 复制storage.conf vim storage.conf base_path=/var/data/fastdfs-storage/base store_path0=/var/data/fastdfs-storage/store tracker_server=192.168.1.17:22122 base_path - 基础路径。用于保存storage server基础数据内容和日志内容的目录。 store_path0 - 存储路径。是用于保存FastDFS中存储文件的目录,就是要创建256*256个子目录的位置。base_path和store_path0可以使用同一个目录。 tracker_server - 跟踪服务器位置。就是跟踪服务器的ip和端口。
mkdir -p /var/data/fastdfs-storage/base 创建两个目录 mkdir -p /var/data/fastdfs-storage/store
Tracker 主节点
Stroage 从节点 可以有多个 可以加到组里group 可以允许多个副本
一个组里 每个stroage中所存储的数据,都一样,
每个group能存最大的空间 由最小的从节点的空间决定
1高可用
2负载均衡
由tracker决定(传输到第一个从节点后,下次会换下一个,并且 当文件传输到storage后会异步的方式复制到各个从节点)
下载时也是一样
启动服务 /etc/init.d/fdfs_storaged start
或者service fdfs_storaged start
fastdfs 不支持http协议 无法直接传输文件
cd/etc/fdfs
还需配置
还需配置
cp client.conf.sample client.conf
base_path=/var/data/fastdfs-client tracker_server=192.168.1.7:22122
保存退出
mkdir -p /var/data/fastdfs-client
--------------------------------------------------------------------
我们需要记住 cd /etc/fdfs/ 存储 client.conf client.conf.sample storage.conf storage.conf.sample tracker.conf tracker.conf.sample 配置文件
cd /etc/init.d
这里是启动fastdfs的地方
fdfs_storaged fdfs_trackerd functions netconsole network nginx README
启动storage 生成存储文件
cd /etc/init.d
./fdfs_storaged start
上传文件
fdfs_upload_file /etc/fdfs/client.conf /usr/local/tengine-2.3.3.tar.gz
上传文件
/usr/local/bin/fdfs_upload_file /etc/fdfs/client.conf /要上传的文件 上传结束后,返回group1/M00/00/00/xxxxxxxxxx.xxx
这里的M00 后面那个0和之前的store_path0对应
后面两个00 是那两级256个目录的文件夹
- 组名:group1文件上传后所在的storage组名称,在文件上传成功后有storage服务器返回,需要客户端自行保存。
- 虚拟磁盘路径:M00 storage配置的虚拟路径,与磁盘选项store_path*对应。如果配置了store_path0则是M00,如果配置了store_path1则是M01,以此类推。
- 数据两级目录:/00/00 storage服务器在每个虚拟磁盘路径下创建的两级目录,用于存储数据文件。
- 文件名:wKiWDV0xfqWAFe1OAAAib-i5DLU637.log
删除文件
/usr/bin/fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKiWDV0xfqWAFe1OAAAib-i5DLU637.log
fdfs_upload_file /etc/fdfs/client.conf /usr/local/apache-tomcat-8.5.78.tar.gz 上传成功后会放回一个 file ID group1/M00/00/00/wKgBEWJat_WABCWOAKFlwA6AyZg.tar.gz 该id提供后面的删除使用 fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKgBEWJat_WABCWOAKFlwA6AyZg.tar.gz
解压 tar vxzf fastdfs-nginx-module_v1.16.tar.gz 压缩包 进入/fastdfs-nginx-module/src 文件下 修改配置文件config CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/" 将这一行的local 都删掉
因为只有这里才能找到该目录 该目录是存放插件的位置
编译安装Nginx
进入到tengine-2.3.3 目录下
./configure --prefix=/usr/local/tengine --add-module=/usr/local/fastdfs/fastdfs-nginx-module/src
make && make install
配置fastdfs-nginx-module
进入到fastdfs-nginx-module模块src目录下
cp ./mod_fastdfs.conf /etc/fdfs
修改配置文件 mod_fastdfs.conf
tracker_server=192.168.1.17:22122 url_have_group_name = true store_path0=/var/data/fastdfs-storage/store
拷贝http服务需要的配置
进入该目录下
/usr/local/fastdfs/FastDFS/conf
复制两个配置文件(http.conf和mime.types)到/etc/fdfs目录中
cp ./http.conf /etc/fdfs
cp ./mime.types /etc/fdfs
创建软连接
在data后面添加M00路径
ln -s /var/data/fastdfs-storage/store/data/ /var/data/fastdfs-storage/store/data/M00
修改nginx配置文件 location ~ /group([0-9])/M00 { add_header Content-Disposition "attachment;filename=$arg_attname"; ngx_fastdfs_module; }
测试获得链接 在外部浏览器访问可下载
fdfs_test /etc/fdfs/client.conf upload /usr/local/tengine-2.3.3.tar.gz
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)