FastDFS 6.x安装失败主因是libfastcommon未正确安装或tracker_server配置为localhost;需手动创建软链接、建目录并授权、禁用localhost、严格校验路径/IP/大小写。

FastDFS 6.x 在 Linux 上安装失败,八成是因为 libfastcommon 没装对,或者 tracker_server 写成了 localhost —— 这两个点踩中一个,服务就起不来。
libfastcommon 编译安装后找不到 .so 文件
FastDFS 6.x 不再自带 libfastcommon,必须单独编译安装,且安装后生成的 libfastcommon.so 默认落在 /usr/lib64/,但 FastDFS 启动时只认 /usr/local/lib/ 和 /usr/lib/。
- 确认是否已执行
./make.sh install(不是只./make.sh) - 检查
/usr/lib64/libfastcommon.so是否存在;不存在说明编译失败或路径不对 - 手动创建软链接:
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so - Ubuntu 系统还需补一条:
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so - 运行
ldconfig刷新动态库缓存,否则fdfs_trackerd仍报libfastcommon.so: cannot open shared object file
tracker.conf 和 storage.conf 的路径与权限必须手建
FastDFS 不会自动创建 base_path 或 store_path0 目录,也不会帮你设属主。启动时日志里满屏 mkdir failed 或 permission denied 就是这个原因。
-
tracker.conf中的base_path=/fastdfs/tracker→ 执行:mkdir -p /fastdfs/tracker && chown -R fdfs:fdfs /fastdfs -
storage.conf中的base_path=/fastdfs/storage和store_path0=/fastdfs/storage→ 同样要mkdir -p /fastdfs/storage并确保属主一致 - 别用
root直接跑服务;如果配置了run_by_user=fdfs,就必须用fdfs用户启动,且该用户对上述路径有读写权 - 路径里不能含空格、中文,也别用
/home/xxx这类非标准位置,容易被 SELinux 或 systemd 拦截
storage 启动连不上 tracker 的真实原因
日志里反复出现 connect to tracker server failed,90% 不是网络不通,而是 tracker_server 配置写错了。
-
storage.conf中的tracker_server必须写成192.168.10.101:22122这种 IP+端口格式,禁用localhost、127.0.0.1、tracker01(未配 DNS 时) - 确认 tracker 确实已启动:
netstat -tlnp | grep :22122,且/fastdfs/tracker/logs/trackerd.log末尾没有bind addr fail(端口被占) - storage 启动后会主动连 tracker,所以它看到的是自己机器上的网络视角 —— 如果 tracker 在另一台机器,storage 就不可能通过
127.0.0.1访问到 - 多个 tracker?每行写一个:
tracker_server=192.168.10.101:22122、tracker_server=192.168.10.102:22122
Nginx + mod_fastdfs 加载失败或返回 404
即使 storage 能存文件,Nginx 仍可能返回 404 或直接 core dump,问题常出在 mod_fastdfs.conf 和 Nginx 配置联动上。
-
url_have_group_name=true必须开启,否则 Nginx 不知道从 URL 解析group1/M00/xx.jpg中的 group 名 -
store_path0=/fastdfs/storage必须和storage.conf中的store_path0完全一致,包括结尾斜杠(不加) - 改完
mod_fastdfs.conf后,必须重启 Nginx(systemctl restart nginx),不能 reload,否则模块不会重载 - Nginx location 需匹配 FastDFS 返回的 file_id 格式,典型配置:
location ~/group[0-9]/M00/ { ... } - 确保
/fastdfs/storage/data下真有对应文件(如/fastdfs/storage/data/00/00/wKgBZl...),否则 404 是正常的
最易被忽略的是:所有配置文件里的路径、IP、group 名,大小写和空格都必须严格一致;tracker 和 storage 日志不是可选阅读项,是唯一线索来源 —— 别跳过它们直接重装。


















