必须先安装libfastcommon并创建软链接,再安装FastDFS;tracker和storage的base_path目录须提前创建且路径严格一致;tracker_server严禁填localhost或127.0.0.1,必须用本机真实IPv4地址;启动storage前需等待tracker完全就绪,否则因连接失败导致服务异常。

在银河麒麟操作系统上安装和配置FastDFS文件系统,必须严格遵循依赖顺序与路径权限规范——libfastcommon未装或软链接缺失会导致fdfs_trackerd直接报错退出,tracker_server写localhost会使storage无法连接,base_path目录若不存在则服务静默失败且日志仅显示“mkdir failed”。
安装前置依赖与基础库
先确认系统已安装编译工具链:yum install -y gcc-c++ libevent-dev libpcre3-dev。Ubuntu系需用apt install build-essential libevent-dev libpcre3-dev,缺任一包都会在./make.sh时卡在event.h或pcre.h找不到。
下载libfastcommon-1.0.66.tar.gz并解压到/usr/local/fastdfs/目录下,进入源码目录执行./make.sh && sudo ./make.sh install。
【关键检查】执行ls /usr/lib64/libfastcommon.so确认文件存在;若存在,立即补两条软链接:ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so 和 ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so。麒麟V10默认不建软链,不补则后续所有服务启动必报libfastcommon.so: cannot open shared object file。
安装FastDFS主体并复制配置模板
下载fastdfs-6.08.tar.gz,解压至/usr/local/fastdfs/,进入目录后执行./make.sh && sudo ./make.sh install。
配置文件默认生成在/etc/fdfs/,但该目录下只有.sample后缀模板。执行以下命令复制三份正式配置:cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf、cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf、cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf。
注意:麒麟系统中/etc/fdfs目录由安装脚本自动创建,无需手动mkdir,但必须确保其属主为root且权限为755。
配置Tracker服务
第一步:创建tracker数据目录mkdir -p /usr/local/fastdfs/fastDFS_data,并设属主chown -R root:root /usr/local/fastdfs/fastDFS_data。
第二步:编辑/etc/fdfs/tracker.conf,修改三处关键项:
① disabled=false(启用服务)
② port=22122(端口保持默认即可)
③ base_path=/usr/local/fastdfs/fastDFS_data(必须与上一步创建的路径完全一致)。
第三步:检查bind_addr是否为空——空值表示监听所有网卡,麒麟环境下无需修改;若填了具体IP,请确认该IP属于本机物理网卡而非lo。
配置Storage服务
方法一:单机部署最小配置
① 创建存储根目录:mkdir -p /usr/local/fastdfs/storage,并设属主chown -R root:root /usr/local/fastdfs/storage。
② 编辑/etc/fdfs/storage.conf,重点修改:
- group_name=group1(上传时必须显式指定,大小写敏感)
- store_path0=/usr/local/fastdfs/storage(必须与上一步路径一致)
- tracker_server=192.168.1.100:22122(【致命错误点】此处绝不能写localhost或127.0.0.1;请用ip addr show查出本机实际IPv4地址填入)
- base_path=/usr/local/fastdfs/storage(日志存放路径,也需提前创建)。
方法二:云服务器额外动作
在麒麟云控制台安全组中放行TCP端口22122(tracker)和23000(storage),否则外部无法连接,本地测试也会因网络隔离失败。
启动服务并验证连通性
① 启动tracker:fdfs_trackerd /etc/fdfs/tracker.conf start。
② 等待3秒,再启动storage:fdfs_storaged /etc/fdfs/storage.conf start。
③ 检查进程:ps aux | grep fdfs应看到两个进程。
④ 检查监听:netstat -tlnp | grep :22122应有fdfs_trackerd监听。
⑤ 查日志确认无ERROR:tail -f /usr/local/fastdfs/fastDFS_data/logs/trackerd.log 和 tail -f /usr/local/fastdfs/storage/logs/storaged.log。
这一步操作起来很简单,直接按顺序执行四条命令就行。但若跳过等待3秒直接启storage,storaged会因tracker尚未完全就绪而反复重连失败,日志里出现大量connect to tracker server fail。
最后验证客户端配置:编辑/etc/fdfs/client.conf,确保tracker_server=192.168.1.100:22122与storage.conf中一致,并设置base_path=/tmp(client日志路径,可不创建,程序会自动建)。

















