linux怎么安装fastdfs?fastdfs安装教程

在 Linux 系统中安装 FastDFS 是一个相对复杂的过程,因为它由多个组件组成(Tracker 服务器、Storage 服务器、Nginx 模块等)。

以下是基于 CentOS/RHEL 7/8 或 Ubuntu 的完整安装指南,我们将使用源码编译安装,这是最通用且可控的方式。

这可能是B站最好的FastDFS教程 --分布式文件系统FastDFS入门到实战视频精讲
加载中
这可能是B站最好的FastDFS教程 --分布式文件系统FastDFS入门到实战视频精讲

📌 前置准备

  1. 系统要求:Linux 服务器(建议 CentOS 7+ 或 Ubuntu 18.04+)。
  2. 依赖包:FastDFS 依赖 libfastcommonlibevent
  3. 权限:需要使用 root 用户或具有 sudo 权限的用户。

第一步:安装依赖库

FastDFS 依赖于 libfastcommon,这是 FastDFS 的底层 C 库。

# 1. 安装编译工具和依赖
yum install -y gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget
# 2. 下载并安装 libfastcommon
cd /usr/local/src
wget https://github.com/happyfish100/libfastcommon/archive/refs/heads/master.zip
unzip master.zip
cd libfastcommon-master
# 3. 编译安装
./make.sh
./make.sh install
# 注意:libfastcommon 默认安装在 /usr/lib64/libfastcommon.so
# 但 FastDFS 可能在 /usr/lib 下查找,需要建立软链接(针对 64 位系统)
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 核心服务

下载 FastDFS

cd /usr/local/src
wget https://github.com/happyfish100/fastdfs/archive/refs/heads/master.zip
unzip master.zip
cd fastdfs-master

编译安装

./make.sh
./make.sh install

安装完成后,配置文件默认在 /etc/fdfs/ 目录下。

配置 Tracker 服务

# 复制示例配置文件
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
# 编辑配置文件
vi /etc/fdfs/tracker.conf

关键修改项:

# 修改存储路径(确保目录存在)
base_path=/data/fastdfs/tracker
# 端口(默认 22122,一般无需修改)
port=22122

创建目录并启动 Tracker:

linux怎么安装fastdfs?fastdfs安装教程

mkdir -p /data/fastdfs/tracker
# 启动 Tracker
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
# 设置开机自启(可选)
chkconfig fdfs_trackerd on

配置 Storage 服务

# 复制示例配置文件
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
# 编辑配置文件
vi /etc/fdfs/storage.conf

关键修改项:

# 修改存储路径
base_path=/data/fastdfs/storage
# 修改 store_path0 路径
store_path0=/data/fastdfs/storage/files
# 修改 tracker_server 地址(指向 Tracker 服务器 IP)
tracker_server=192.168.1.100:22122
# HTTP 端口(默认 8888,用于后续 Nginx 访问)
http.server_port=8888

创建目录并启动 Storage:

mkdir -p /data/fastdfs/storage/files
# 启动 Storage
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
# 设置开机自启
chkconfig fdfs_storaged on

注意:如果你的服务器既是 Tracker 又是 Storage,需要在同一台机器上配置两个服务。


第三步:配置 Nginx 访问(可选但推荐)

FastDFS 本身不提供 HTTP 访问,需要配合 nginx-fastdfs-module 来实现通过浏览器访问文件。

下载并编译 Nginx 模块

cd /usr/local/src
wget https://github.com/happyfish100/fastdfs-nginx-module/archive/refs/heads/master.zip
unzip master.zip
# 下载 Nginx 源码
wget http://nginx.org/download/nginx-1.20.1.tar.gz
tar -zxvf nginx-1.20.1.tar.gz
cd nginx-1.20.1

编译 Nginx(添加模块)

# 先安装 Nginx 依赖
yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel
# 配置编译参数(注意路径替换为你的实际路径)
./configure 
--prefix=/usr/local/nginx 
--add-module=/usr/local/src/fastdfs-nginx-module/src
# 编译并安装
make
make install

配置 Nginx 模块

# 复制模块配置文件
cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
# 编辑配置文件
vi /etc/fdfs/mod_fastdfs.conf

关键修改项:

# 连接超时时间
connect_timeout=10
# Tracker 服务器地址
tracker_server=192.168.1.100:22122
# Storage 存储路径(必须与 storage.conf 中的 store_path0 一致)
store_path0=/data/fastdfs/storage/files
# 是否跟随 URL 中的 group 名称
url_have_group_name=true
# 文件组数量(通常只有一个组 group1)
group_count=1

linux怎么安装fastdfs?fastdfs安装教程

group_count=1 下方添加:

[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/data/fastdfs/storage/files

配置 Nginx 主配置文件

vi /usr/local/nginx/conf/nginx.conf

http 块中添加:

server {
    listen 80;
    server_name localhost;
    location /group1/M00 {
        root /data/fastdfs/storage/files/data;
        ngx_fastdfs_module;
    }
}

启动 Nginx

/usr/local/nginx/sbin/nginx
# 测试配置
/usr/local/nginx/sbin/nginx -t

第四步:测试上传

使用 FastDFS 提供的测试客户端 fdfs_test 进行上传测试。

# 编辑客户端配置
vi /etc/fdfs/client.conf

修改项:

base_path=/data/fastdfs/tracker
tracker_server=192.168.1.100:22122

执行上传测试:

# 准备一个测试文件
echo "Hello FastDFS" > /tmp/test.txt
# 上传文件
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /tmp/test.txt

成功输出示例:

This is FastDFS client test program v6.06
Copyright (C) 2008, Happy Fish / YuQing
FastDFS may be copied only under the terms of the GNU General
Public License V3, which may be found in the FastDFS source kit.
Please visit the FastDFS Home Page http://www.csource.org/
for more detail.
[2026-10-27 10:00:00] DEBUG - base_path=/data/fastdfs/tracker, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0
tracker_query_storage_store_list_without_group:
        server 1. group_name=, ip_addr=192.168.1.100, port=23000
group_name=group1, ip_addr=192.168.1.100, port=23000
storage_upload_by_filename
group_name=group1, remote_filename=M00/00/00/wKh3gG8x1Y-ABcDdAAABBBCCCDDD.txt
source ip address: 192.168.1.100
file time

linux怎么安装fastdfs?fastdfs安装教程

stamp=2026-10-27 10:00:00 file size=13 file crc32=123456789 example file url: http://192.168.1.100/group1/M00/00/00/wKh3gG8x1Y-ABcDdAAABBBCCCDDD.txt storage_upload_slave_by_filename group_name=group1, remote_filename=M00/00/00/wKh3gG8x1Y-ABcDdAAABBBCCCDDD_big.txt source ip address: 192.168.1.100 file timestamp=2026-10-27 10:00:00 file size=13 file crc32=123456789 example file url: http://192.168.1.100/group1/M00/00/00/wKh3gG8x1Y-ABcDdAAABBBCCCDDD_big.txt

访问测试:
在浏览器中访问:
http://192.168.1.100/group1/M00/00/00/wKh3gG8x1Y-ABcDdAAABBBCCCDDD.txt

如果能看到 “Hello FastDFS”,说明安装成功!


✅ 常见问题排查

  1. 防火墙问题
    确保开放以下端口:

    • Tracker: 22122
    • Storage: 23000
    • Nginx: 808888
      firewall-cmd --zone=public --add-port=22122/tcp --permanent
      firewall-cmd --zone=public --add-port=23000/tcp --permanent
      firewall-cmd --zone=public --add-port=80/tcp --permanent
      firewall-cmd --reload
  2. SELinux 问题
    如果上传失败,可能是 SELinux 阻止,临时关闭测试:

    setenforce 0

    如果解决,建议永久关闭或配置 SELinux 策略。

  3. 路径权限
    确保 /data/fastdfs/ 目录对运行 FastDFS 的用户(通常是 rootfastdfs)有读写权限。

  4. 日志查看
    如果出错,查看日志:

    • Tracker 日志:/data/fastdfs/tracker/logs/trackerd.log
    • Storage 日志:/data/fastdfs/storage/logs/storaged.log

组件 默认端口 配置文件路径
Tracker 22122 /etc/fdfs/tracker.conf
Storage 23000 /etc/fdfs/storage.conf
Nginx 80/8888 /usr/local/nginx/conf/nginx.conf
Client /etc/fdfs/client.conf

安装完成后,建议将 FastDFS 服务加入系统服务管理,以便重启服务器后自动启动。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/486010.html

(0)
linux中ssh和sftp有什么区别?ssh和sftp有什么区别
上一篇 2026年7月12日 08:51
RackNerd六月美国VPS怎么买最划算?美国便宜VPS推荐
下一篇 2026年7月12日 08:51

相关推荐

  • 网易版2b2t服务器地址是多少,怎么进?

    网易版目前没有官方2b2t服务器,网易代理的是中国版《我的世界》,2b2t属于海外Java版原版服务器,并不在网易的代理范围内,你如果在网易版里搜到“2b2t”相关的房间,要么是玩家用模组自行搭建的模仿服,要么是借了名字的生存服,和真正的2b2t没有关系,为什么网易版里搜不到2b2t2b2t的全称是2build……

    2026年8月23日
    600
  • Overlay Linux是什么?,怎么用

    Overlay Linux 是一种联合文件系统,它通过将多个目录层叠在一起,对外呈现为一个统一的文件系统视图,广泛用于容器镜像精简和系统只读升级等场景,是当前 Linux 内核主线支持的轻量级方案,overlay linux 是什么:层叠文件系统的核心逻辑Overlay Linux 实际上指的是 Overlay……

    2026年7月20日
    1000
  • 四川德阳电信服务器dns设置多少?,怎么设置

    四川德阳电信的DNS服务器地址首选为202.98.96.68,备用为202.98.96.69,这是电信官方提供的标准解析服务,适用于宽带用户和服务器网络配置,为什么DNS设置如此重要?DNS(域名系统)像互联网的电话簿,把网址转换成服务器能识别的IP地址,如果这个电话簿地址填错或查询速度慢,就会出现网页打不开……

    2026年8月11日
    500
  • 8g云服务器能并发多少用户

    8G云服务器能并发多少用户?直接答案是:在常规Web业务场景下,8G内存云服务器可稳定承载800至2500个并发连接,即同时在线用户约300至1000人,具体取决于业务类型、架构优化及带宽配置, 如果只是处理静态页面请求,千人在线毫无压力;但若涉及复杂数据库查询或高计算量任务,并发能力可能骤降至百人以内,这个区……

    2026年8月19日
    400
  • 什么是Linux回环设备,linux回环设备的作用是什么?

    Linux回环设备(Loopback Device)是一种通过将文件映射为块设备,从而允许操作系统像访问物理硬盘一样读写文件的虚拟设备机制,Linux回环设备的底层工作原理在Linux操作系统中,硬件设备通常被抽象为文件,物理硬盘通过驱动程序暴露为/dev/sdX形式的块设备,在某些特定场景下,我们并不需要真实……

    相关资讯 2026年7月14日
    1300
  • 服务器cpu能承受多少度,温度过高会不会烧毁?

    服务器CPU通常能承受的最高温度一般在90-100°C左右,但为了确保长期稳定运行和硬件寿命,建议将温度控制在70°C以下,多数服务器厂商的官方白皮书指出,持续高温超过80°C会显著增加故障率,为什么服务器CPU温度是运维的核心指标CPU温度直接影响服务器的性能表现和硬件寿命,当温度超过阈值,CPU会启动降频机……

    2026年8月17日
    400
  • 一台服务器最多能支持多少个socker?,socker数量上限是多少

    一台服务器支持的socket数量取决于CPU架构与平台定位,x86服务器主流为1至8路,ARM服务器可达64至128路,超级计算机则会扩展至数万路,展开说,单路、双路是绝对主流,四路以上多为关键业务或高性能计算场景,先给结论:你去机房看到的那台服务器,大概率是双路以最常见的x86架构来说,单路和双路加起来覆盖了……

    2026年8月22日
    200
  • 一核两G内存服务器能处理多少数据量,够用吗?

    一核两g内存服务器的真实数据量边界一核两g内存服务器适合数据总量在1GB以内的小型网站,日均PV建议控制在5000以下,MySQL数据库规模不超过500MB,配合优化可稳定运行轻量级WordPress、个人博客或企业展示站,理解配置极限:1核CPU与2GB内存的分工CPU负责计算,内存决定同时处理多少任务,1核……

    2026年8月12日
    500
  • QQ邮箱服务器端口该怎么配置,收费标准是多少?

    QQ邮箱的服务器和端口完全免费使用,无需任何费用,主流配置为IMAP协议(imap.qq.com,993端口,SSL加密)和SMTP协议(smtp.qq.com,465端口,SSL加密),POP3协议(pop.qq.com,995端口)同样免费,QQ邮箱服务器与端口配置详解官方服务器地址与端口列表QQ邮箱支持三……

    2026年8月21日
    1400
  • linux pq怎么安装使用,操作步骤有哪些

    Linux PQ(优先级队列)是系统管理进程调度顺序的核心机制,通过调整进程的nice值与实时优先级,你可以有效控制CPU资源分配,提升关键任务的响应速度,理解Linux PQ:进程优先级队列的本质在Linux内核中,PQ(Priority Queue)并非一个独立的软件,而是调度器管理进程优先级的数据结构,每……

    2026年7月22日
    500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注