暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

FastDFS单节点本地部署

运维DevOps 2023-08-17
32

环境准备:Centos7

IP地址:192.168.238.130

1、首先安装相关依赖包,执行命令如下:

    yum install gcc gcc-c++ make libevent #FastDFS依赖libevent库,需要安装

    2、安装libfastcommon

    libfastcommon是FastDFS官方提供的,libfastcommon包含了FastDFS运行所需要的一些基础库,下载地址:

      https://github.com/happyfish100/libfastcommon/releases

      git clone https://github.com/happyfish100/libfastcommon.git --depth 1

      下载完成后解压以及安装,命令如下:

        mkdir -p /data/fdfs && cd /data/fdfs   # 创建目录并进入
        rz -y libfastcommon.tgz
        tar xf libfastcommon.tgz # 解压
        cd libfastcommon
        ./make.sh  && ./make.sh install # 编译和安装

        3、安装FastDFS

        安装包下载地址为:

          https://github.com/happyfish100/fastdfs/releases

          git clone https://github.com/happyfish100/fastdfs.git --depth 1

          下载完成后解压以及安装,命令如下:

            cd data/fdfs
            rz -y fastdfs-6.07.tar.gz
            tar xf fastdfs-6.07.tar.gz
            cd fastdfs-6.07
            ./make.sh  && ./make.sh install # 编译以及安装
            #注意:如果编译出错误可以先执行./make.sh clean 清除,然后重新执行./make.sh即可

            安装完成后,在/etc/init.d/中可以看到跟踪器和存储器的可执行文件,如图:

            配置文件准备:

              mv /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
              mv /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
              mv /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf

              配置FastDFS跟踪器(Tracker)

              编辑tracker.conf,修改内容如下

                # 配置文件是否不生效,false 为生效
                disabled=false
                # 提供服务的端口
                port=22122
                # Tracker 数据和日志目录地址
                base_path=/data/fastdfs/tracker
                # HTTP 服务端口 默认8080 ,建议修改 防止冲突
                http.server_port=9080

                创建tracker基础数据目录,即base_path对应的目录:

                  mkdir -p /data/fastdfs/tracker

                  启动tracker:

                    /etc/init.d/fdfs_trackerd start 或者 /usr/bin/fdfs_trackerd   /etc/fdfs/tracker.conf
                    #添加到开机自启动文件中
                    echo "/etc/init.d/fdfs_trackerd start" >> /etc/rc.d/rc.local
                    #给rc.local赋予可执行权限
                    chmod +x /etc/rc.d/rc.local
                    #关闭命令
                    /etc/init.d/fdfs_tracked stop

                    执行命令/etc/init.d/fdfs_tracked status查看状态,如下:

                    Tracker服务启动成功后,会在base_path下创建data、logs两个目录。目录结构如下:

                    注意:tracker 不去主动读取storage的相关信息,而是由storage主动推送给tracker,因此必须先启动tracker

                    配置 FastDFS 存储 (Storage)

                    编辑storage.conf文件,主要修改位置如下:

                      # Storage 数据和日志目录地址(根目录必须存在,子目录会自动生成)  (注 :这里不是上传的文件存放的地址,之前版本是的,在某个版本后更改了)
                      base_path=/data/fastdfs/datalog
                      # 配置组名
                      group_name = group1
                      # 如果不配置 store_path0,那它就和 base_path 对应的路径一样,这个路径才是真正储存文件的地方
                      store_path0=/data/fastdfs/storage0
                      # tracker_server 的列表 ,会主动连接 tracker_server
                      # 有多个 tracker server 时,每个 tracker server 写一行
                      tracker_server=192.168.238.130:22122
                      #http_server_port,默认为8888,后续需要和nginx端口保持一致
                      http.server_port = 8888

                      创建Storage数据目录,如下:

                        mkdir -p /data/fastdfs/datalog
                        mkdir -p /data/fastdfs/storage0

                        启动storage,命令如下:

                          /etc/init.d/fdfs_storaged start 或 /usr/bin/fdfs_storaged /etc/fdfs/storage.conf
                          echo "/etc/init.d/fdfs_storaged start"  >> /etc/rc.d/rc.local  #添加到开机启动项中

                          查看storage运行状态,如图:

                          查看Storage和Tracker是否在通信,出现下面内容表示在通信,如图:

                          配置客户端文件(client.conf)

                          编辑client.conf,修改内容如下:

                            #client的数据和日志目录
                            base_path = /data/fastdfs/client
                            #tracker的服务和端口
                            tracker_server = 192.168.238.130:22122

                            创建数据和日志目录:

                              mkdir -p /data/fastdfs/client

                              测试上传

                              创建文件并上传,如下:

                                echo "hello world fastdfs" > fdfs.txt    #定义文件
                                [root@centos-minimal ~]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf fdfs.txt
                                group1/M00/00/00/wKjugmTdbm6AO3ssAAAAFAK2GLE468.txt

                                上传成功后,可以找到文件位置在/data/fastdfs/storage0/data/00/00路径下,如图:

                                访问

                                此时直接通过Nginx就可以实现访问了,Nginx配置如下:

                                如果是java应用连接fastdfs,可直接通过22122即可,如果前端页面访问可通过Nginx

                                本例子中没有使用fastdfs-nginx-module模块,如果是单节点的fastdfs,其实可以不使用此模块,后面文章将讲解fastdfs-nginx-module模块的使用

                                文章转载自运维DevOps,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                评论