单节点FastDFS文件系统搭建(附安装所需文件下载链接)

一、安装gcc

yum install make cmake gcc gcc-c++

二、上传所需的安装包

首先下载所需安装包:点我下载

可以使用Xftp5上传文件到 Linux 。

上传后如下:

[root@localhost ~]# ll
total 1640
-rw-r--r--. 1 root root   17510 Jul  6 07:21 fastdfs-nginx-module_v1.16.tar.gz
-rw-r--r--. 1 root root  344620 Jul  6 07:21 FastDFS_v5.08.tar.gz
-rw-r--r--. 1 root root  265633 Jul  6 07:21 libfastcommon-master.zip
-rw-r--r--. 1 root root 1043748 Jul  6 07:21 nginx-1.19.0.tar.gz

三、安装zip和unzip

yum install -y zip unzip

四、安装 libfastcommon

  1. 解压 libfastcommon-master.zip 到 /usr/local/fast/

    unzip libfastcommon-master.zip -d /usr/local/fast/
    

    进入/usr/local/fast/libfastcommon-master/

    cd /usr/local/fast/libfastcommon-master/
    

    解压后如下:

    [root@localhost libfastcommon-master]# ll
    total 60
    drwxr-xr-x. 2 root root   114 Jun 28 07:26 doc
    -rw-r--r--. 1 root root 11936 Jun 28 07:26 HISTORY
    -rw-r--r--. 1 root root   674 Jun 28 07:26 INSTALL
    -rw-r--r--. 1 root root  1607 Jun 28 07:26 libfastcommon.spec
    -rw-r--r--. 1 root root 27030 Jun 28 07:26 LICENSE
    -rwxr-xr-x. 1 root root  3454 Jun 28 07:26 make.sh
    drwxr-xr-x. 2 root root   191 Jun 28 07:26 php-fastcommon
    -rw-r--r--. 1 root root  2776 Jun 28 07:26 README
    drwxr-xr-x. 3 root root  4096 Jun 28 07:26 src
    
  2. 编译

    ./make.sh
    
  3. 安装

    ./make.sh install
    
  4. 创建软连接

    FastDFS主程序设置的目录为/usr/local/lib/,所以我们需要创建/usr/lib64/下的一些核心执行程序的软连接文件。如下所示:

    [root@localhost libfastcommon-1.0.7]# ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
    [root@localhost libfastcommon-1.0.7]# ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
    [root@localhost libfastcommon-1.0.7]# ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
    [root@localhost libfastcommon-1.0.7]# ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
    

五、安装FastDFS

  1. 解压FastDFS_v5.08.tar.gz 到 /usr/local/fast/

    tar -zxvf FastDFS_v5.08.tar.gz -C /usr/local/fast/
    
  2. 编译安装

    cd /usr/local/fast/FastDFS/
    ./make.sh
    ./make.sh install
    

    安装完成后,服务脚本如下:

    [root@localhost FastDFS]# cd /etc/init.d/ && ls | grep fdfs
    fdfs_storaged
    fdfs_trackerd
    

    配置文件位置如下:

    [root@localhost init.d]# cd /etc/fdfs/
    [root@localhost fdfs]# ll
    total 20
    -rw-r--r--. 1 root root 1461 Jul  6 07:30 client.conf.sample
    -rw-r--r--. 1 root root 7927 Jul  6 07:30 storage.conf.sample
    -rw-r--r--. 1 root root 7200 Jul  6 07:30 tracker.conf.sample
    

    FastDFS一系列执行脚本如下,可以看到有上传文件脚本、下载文件脚本等等:

    [root@localhost fdfs]# cd /usr/bin/ && ls | grep fdfs
    fdfs_appender_test
    fdfs_appender_test1
    fdfs_append_file
    fdfs_crc32
    fdfs_delete_file
    fdfs_download_file
    fdfs_file_info
    fdfs_monitor
    fdfs_storaged
    fdfs_test
    fdfs_test1
    fdfs_trackerd
    fdfs_upload_appender
    fdfs_upload_file
    

六、配置跟踪器

  1. 进入到/etc/fdfs目录并且复制一份tracker.conf.sample并命名为tracker.conf,如下所示:

    [root@localhost bin]# cd /etc/fdfs/
    [root@localhost fdfs]# ll
    total 20
    -rw-r--r--. 1 root root 1461 Jul  6 07:30 client.conf.sample
    -rw-r--r--. 1 root root 7927 Jul  6 07:30 storage.conf.sample
    -rw-r--r--. 1 root root 7200 Jul  6 07:30 tracker.conf.sample
    [root@localhost fdfs]# cp tracker.conf.sample tracker.conf
    [root@localhost fdfs]# ll
    total 28
    -rw-r--r--. 1 root root 1461 Jul  6 07:30 client.conf.sample
    -rw-r--r--. 1 root root 7927 Jul  6 07:30 storage.conf.sample
    -rw-r--r--. 1 root root 7200 Jul  6 07:50 tracker.conf
    -rw-r--r--. 1 root root 7200 Jul  6 07:30 tracker.conf.sample
    
  2. 修改 tracker.conf 中 base_path的值为/fastdfs/tracker

    [root@localhost fdfs]# vim tracker.conf
    
  3. 创建/fastdfs/tracker

    [root@localhost fdfs]# mkdir -p /fastdfs/tracker
    
  4. 防火墙开放tracker使用的端口22122

    [root@localhost fdfs]# firewall-cmd --permanent --add-port=22122/tcp
    success
    [root@localhost fdfs]# firewall-cmd --reload
    success
    
  5. 启动tracker

    [root@localhost fdfs]# /etc/init.d/fdfs_trackerd start
    Reloading systemd:                                         [  OK  ]
    Starting fdfs_trackerd (via systemctl):                    [  OK  ]
    

    启动之后可以看到/fastdfs/tracker文件夹下多了两个目录data和logs:

    [root@localhost fdfs]# ll /fastdfs/tracker
    total 0
    drwxr-xr-x. 2 root root 83 Jul  6 08:00 data
    drwxr-xr-x. 2 root root 26 Jul  6 07:59 logs
    

七、配置FastDFS存储

  1. 进入/etc/fdfs目录,复制一份storage.conf.sample文件并命名为storage.conf

    [root@localhost fdfs]# cp storage.conf.sample storage.conf
    [root@localhost fdfs]# ll
    total 36
    -rw-r--r--. 1 root root 1461 Jul  6 07:30 client.conf.sample
    -rw-r--r--. 1 root root 7927 Jul  6 08:03 storage.conf
    -rw-r--r--. 1 root root 7927 Jul  6 07:30 storage.conf.sample
    -rw-r--r--. 1 root root 7196 Jul  6 07:53 tracker.conf
    -rw-r--r--. 1 root root 7200 Jul  6 07:30 tracker.conf.sample
    
  2. 修改storage.conf文件

    [root@localhost fdfs]# vim storage.conf
    

    修改以下四项:

    base_path=/fastdfs/storage
    store_path0=/fastdfs/storage
    tracker_server=192.168.40.139:22122
    http.server_port=8888
    
  3. 创建存储目录

    [root@localhost fdfs]# mkdir -p /fastdfs/storage
    
  4. 防火墙开放storage的默认端口23000

    [root@localhost fdfs]# firewall-cmd --permanent --add-port=23000/tcp
    success
    [root@localhost fdfs]# firewall-cmd --reload
    success
    
  5. 启动storage

    [root@localhost fdfs]# /etc/init.d/fdfs_storaged start
    Starting fdfs_storaged (via systemctl):                    [  OK  ]
    

    启动后/fastdfs/storage目录里多了data和logs两个文件夹

    [root@localhost fdfs]# ll /fastdfs/storage/
    total 12
    drwxr-xr-x. 259 root root 8192 Jul  6 08:15 data
    drwxr-xr-x.   2 root root   26 Jul  6 08:15 logs
    

八、测试上传功能

  1. 进入到/etc/fdfs目录下复制一份client.conf.sample并更名为client.conf

    [root@localhost fdfs]# cp client.conf.sample client.conf
    [root@localhost fdfs]# ll
    total 40
    -rw-r--r--. 1 root root 1461 Jul  6 08:23 client.conf
    -rw-r--r--. 1 root root 1461 Jul  6 07:30 client.conf.sample
    -rw-r--r--. 1 root root 7918 Jul  6 08:12 storage.conf
    -rw-r--r--. 1 root root 7927 Jul  6 07:30 storage.conf.sample
    -rw-r--r--. 1 root root 7196 Jul  6 07:53 tracker.conf
    -rw-r--r--. 1 root root 7200 Jul  6 07:30 tracker.conf.sample
    
  2. 修改client.conf

    [root@localhost fdfs]# vim client.conf
    

    修改以下两项:

    base_path=/fastdfs/tracker
    tracker_server=192.168.40.139:22122
    
  3. 找到命令的脚本位置,并且使用命令,进行文件的上传

    [root@localhost bin]# vim ~/test_upload_file.txt
    [root@localhost bin]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf ~/test_upload_file.txt 
    group1/M00/00/00/wKgoi18DGreAEr53AAAAFaPsLPE902.txt
    [root@localhost bin]# 
    

九、FastDFS与nginx结合

  1. 安装fastdfs-nginxmodule_v1.16.tar.gz(fast与nginx相结合的模块安装包)

    # 解压安装包
    [root@localhost ~]# tar -zxvf fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/fast/
    
    # 进入解压目录
    [root@localhost ~]# cd /usr/local/fast/
    [root@localhost fast]# ll
    total 0
    drwxr-xr-x. 10 8980 users 258 Jul  6 07:30 FastDFS
    drwxrwxr-x.  3  500   500  47 May  4  2014 fastdfs-nginx-module
    drwxr-xr-x.  5 root root  168 Jul  6 07:29 libfastcommon-master
    [root@localhost fast]# cd fastdfs-nginx-module/
    [root@localhost fastdfs-nginx-module]# ll
    total 8
    -rw-rw-r--. 1 500 500 2342 May  4  2014 HISTORY
    -rw-rw-r--. 1 500 500 1733 May  4  2014 INSTALL
    drwxrwxr-x. 2 500 500  109 May  4  2014 src
    
  2. 修改配置文件

    将config第四行的 /usr/local/include/fastdfs /usr/local/include/fastcommon/ 改成 /usr/include/fastdfs /usr/include/fastcommon/

    [root@localhost src]# vim config 
    
    ngx_addon_name=ngx_http_fastdfs_module
    HTTP_MODULES="$HTTP_MODULES ngx_http_fastdfs_module"
    NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_fastdfs_module.c"
    CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
    CORE_LIBS="$CORE_LIBS -L/usr/local/lib -lfastcommon -lfdfsclient"
    CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='\"/etc/fdfs/mod_fastdfs.conf\"'"
    
  3. 安装nginx

    安装时指定配置 ./configure --prefix=/usr/local/nginx --add-module=/usr/local/fast/fastdfs-nginx-module/src/

    CentOS7安装nginx教程

  4. 复制fastdfs-nginx-module中的配置文件,到/etc/fdfs目录中

    [root@localhost nginx]# cd /usr/local/fast/fastdfs-nginx-module/src/
    [root@localhost src]# ll
    total 76
    -rw-rw-r--. 1 500 500 33207 Aug 29  2013 common.c
    -rw-rw-r--. 1 500 500  3479 Jan  3  2012 common.h
    -rw-rw-r--. 1 500 500   435 Jul  6 09:39 config
    -rw-rw-r--. 1 500 500  3679 Mar 29  2013 mod_fastdfs.conf
    -rw-rw-r--. 1 500 500 28542 May  4  2014 ngx_http_fastdfs_module.c
    [root@localhost src]# cp /usr/local/fast/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
    
  5. 修改上一步copy的mod_fastdfs.conf,需要修改的项如下,其中第一项是超时时长,第三项是允许外界通过http方式访问资源

    [root@localhost src]# vim /etc/fdfs/mod_fastdfs.conf
    
    connect_timeout=10
    tracker_server=192.168.40.139:22122
    url_have_group_name=true
    store_path0=/fastdfs/storage
    
  6. 复制FastDFS里的2个文件,到/etc/fdfs目录中

    [root@localhost src]# cd /usr/local/fast/FastDFS/conf/
    [root@localhost conf]# ll
    total 84
    -rw-r--r--. 1 8980 users 23981 Feb  4  2016 anti-steal.jpg
    -rw-r--r--. 1 8980 users  1461 Feb  4  2016 client.conf
    -rw-r--r--. 1 8980 users   858 Feb  4  2016 http.conf
    -rw-r--r--. 1 8980 users 31172 Feb  4  2016 mime.types
    -rw-r--r--. 1 8980 users  7927 Feb  4  2016 storage.conf
    -rw-r--r--. 1 8980 users   105 Feb  4  2016 storage_ids.conf
    -rw-r--r--. 1 8980 users  7200 Feb  4  2016 tracker.conf
    [root@localhost conf]# cp http.conf mime.types /etc/fdfs/
    
  7. 创建一个软连接,在/fastdfs/storage文件存储目录下创建软连接,将其链接到实际存放数据的目录

[root@localhost conf]# ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00
  1. 进入到/usr/local/nginx/conf/目录下,修改nginx.conf文件

    [root@localhost conf]# vim nginx.conf
    

    找到server部分,修改如下:

    server {
        listen       8888;
        server_name  localhost;
    
        location ~/group([0-9])/M00 {
            ngx_fastdfs_module;
        }
    
  2. 启动nginx

    [root@localhost nginx]# ./sbin/nginx 
    ngx_http_fastdfs_set pid=17576
    
  3. 防火墙放开8888端口

    [root@localhost nginx]# firewall-cmd --permanent --add-port=8888/tcp
    success
    [root@localhost nginx]# firewall-cmd --reload
    succes
    

十、测试安装成果

浏览器访问刚刚上传成功的文件:http://192.168.40.139:8888/group1/M00/00/00/wKgoi18DGreAEr53AAAAFaPsLPE902.txt

在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值