fastDFS安装笔记

1.官方安装教程

官方教程:INSTALL

这里,我在/usr/local目录下创建了一个fastDFS目录,然后将官网教程中git下来的目录都放到此目录中。

在这里插入图片描述

2. 配置

2.1配置tracker

安装完成后,/etc/fdfs目录会被自动创建,进入其中,配置tracker。

在这里插入图片描述

  • 配置base_path

在这里插入图片描述

  • 启动tracker
/usr/bin/fdfs_trackerd  /etc/fdfs/tracker.conf start

说明:执行这条指令后发现并没有启动成功,一直报Usage:./fdfs_trackerd {start | stop | status | restart | condrestart}

试了各种方法,包括从init.d里执行fdfs_trackerd,也并没有成功:

在这里插入图片描述

解决:我发现/usr/bin目录中并没有fdfs_trackerd,我之前是将它从/usr/local/fastDFS/fastdfs/init.d中拷贝到/usr/bin中的。解决:将fastDFS安装产生的文件删除干净,然后重装,跟着官方文档重装的时候一定不要输入那些git checkout命令!!!!
重装完之后, /usr/bin目录下就有了fdfs_trackerd。

原因:重新按照官方github文档进行安装,发现居然是执行了这些指令导致的问题:

在这里插入图片描述

我进行了2种安装方式的对比,一种是不执行图中的那些git checkout指令,一种是执行了 git checkout,后者安装完之后/usr/bin目录中根本找不到fdfs_trackerdfdfs_storaged !!!
将fastdfs/init.d目录下的fdfs_trackerdfdfs_storaged 复制到/usr/bin中,跑起来就会出现Usage:./fdfs_trackerd {start | stop | status | restart | condrestart}



  • 重新安装之后,启动tracker

    /usr/bin/fdfs_trackerd  /etc/fdfs/tracker.conf start
    

    注意,必须指定配置文件,否则出现 “ERROR - file: shared_func.c, line: 1301, file /usr/bin/start not exist”

2.2 配置storage
  • 进入/etc/fdfs目录配置storage.conf

  • 配置base_path,路径可以跟tracker的一样

    在这里插入图片描述

  • 配置storage_path
    在这里插入图片描述
    此处是实际存放文件的路径,不建议跟base_path一样。

  • 配置storage的tracker地址

    在这里插入图片描述
    可以配置多个tracker,其中有说明。

  • 启动storaged

    /usr/bin/fdfs_storaged /etc/fdfs/storage.conf
    
2.3 配置client
  • 配置base_path和tracker_server
    在这里插入图片描述

    在这里插入图片描述

  • 启动client,上传文件

    在这里插入图片描述

3.给nginx增加fastdfs插件

  • 3.1 为什么要增加nginx插件?

    因为tracker存放文件的位置不是固定的,如果根据tracker返回的文件路径配置nginx的location,那么需要配置无数个location。所以这就需要有一个东西,这个东西可以代替nginx的location功能,在海量的路径中自己去寻找某个文件在具体的哪台机器的哪个位置上。这就是fastdfs-nginx-module插件
    具体的数据通路是:客户端 -> nginx -> 插件 -> tracker -> storage

  • 3.2 下载fastdfs-nginx-module并配置
    git clone https://github.com/happyfish100/fastdfs-nginx-module
    

    进行插件配置以连接tracker:

    cd fastdfs-nginx-module/src
    vim mod_fastdfs.conf
    

    把下面的几个值修改:

    在这里插入图片描述

    在这里插入图片描述

    注意,端口不要填错,不然到时候启动nginx没有worker进程



4.安装nginx

  • 下载好nginx压缩包

    wget http://nginx.org/download/nginx-1.20.2.tar.gz
    
    tar -zxvf nginx-1.20.2.tar.gz && rm nginx-1.20.2.tar.gz
    
  • 进入nginx目录

    cd nginx-1.20.2
    
  • 安装 nginx依赖库

    yum -y install zlib zlib-devel pcre-devel openssl penssl-devel
    
  • 配置增加fastdfs插件,这里增加的路径是你插件下的src路径

    ./configure --add-module=/usr/local/fastDFS/fastdfs-nginx-module/src
    

    然后编译安装nginx

    make && make install
    

    安装完之后在/usr/local目录下自动创建了nginx目录,里面包括配置文件和启动文件



4.1 修改nginx配置文件
  • 可以打开nginx安装位置的conf目录,配置nginx,指定nginx日志路径,这样在nginx出错的时候就可以去日志里找问题

    在这里插入图片描述

  • 添加location,转发客户请求到fdfs模块处理

    在这里插入图片描述


4.2 启动nginx
  • 一定要先启动fdfs服务,再启动nginx,不然会导致nginx没有worker进程。

  • 进入/usr/local/nignx/sbin目录,启动nginx。然后访问80端口,发现并没有响应。
    打开日志文件:

    在这里插入图片描述

    发现/etc/fdfs目录中mod_fastdfs.conf 不存在。

    解决:将 fastdfs-nginx-module/src/mod_fastdfs.conf拷贝到/etc/fdfs目录下

    在这里插入图片描述

    再次启动nginx,访问80端口仍然没有反应,这时将fastdfs安装目录下的conf中的这俩拷贝到
    /etc/fdfs/目录下

    在这里插入图片描述



5. 设置开机自启(centos下)

  • 编写trackerd的服务文件 fdfs_trackerd_startup.service
    [Unit]
    Description=fastDFS tracked server //描述
    After=network.target remote-fs.target nss-lookup.target //服务类别
    
    [Service]
    Type=forking //后台运行
    ExecStart=/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start //启动命令
    ExecReload=/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart //重启命令
    ExecStop=/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf stop //停止命令
    
    [Install]
    WantedBy=multi-user.target //服务安装的相关设置,可设置为多用户
    
    编写好之后,存到/usr/lib/systemd/system目录中
    mv fdfs_trackerd_startup.service /usr/lib/systemd/system
    systemctl enable fdfs_trackerd_startup.service
    

同理,storage服务和nginx自启动的配置类似。

6. 通过web端访问fastdfs资源

不在赘述。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值