原创

FastDFS安装

准备linux服务器或虚拟机
Tracker 和 Storage 安装在一台机器上

1、我选择安装FastDFS 5.08版本

    安装FastDFS依赖
    FastDFS是C语言开发的应用。安装必须使用make、cmake和gcc编译器。

install -y make cmake gcc gcc-c++

2、安装FastDFS核心库

    libfastcommon是从FastDFS 和FastDHT 中提取出来的公共C函数库
    1)、上传文件后解压缩
        unzip libfastcommon-master.zip -d /usr/local/fastdfs
    2)、编译安装
        libfastmon没有提供make命令安装文件。使用的是shell脚本执行编译和安装。
        shell脚本为make.sh
        编译./make.sh
        安装./make.sh install
        有固定的默认安装位置。在/usr/lib64和/usr/include/fastcommon两个目录中。
    3)、创建软连接
        因为 FastDFS 主程序设置的 lib 目录是/usr/local/lib,所以需要创建软链接
        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

3、FastDFS主程序安装

    1)、上传并解压缩 tar -zxf FastDFS_v5.08.tar.gz -C /usr/local/fastdfs
    2)、编译安装
        ./make.sh
        ./make.sh install
        安装后,FastDFS主程序所在位置:
        /usr/bin - 可执行文件所在位置。
        /etc/fdfs - 配置文件所在位置。
        /usr/lib64 - 主程序代码所在位置
        /usr/include/fastdfs - 包含的一些插件组所在位置

4、 服务配置

    1)、程序脚本
        在/etc/init.d/目录中,脚本文件是 **fdfs-storaged**和**fdfs-trackerd**
    2)、 配置文件
        配置文件在```/etc/fdfs/```目录中
        - tracker.conf.sample - 跟踪器服务配置文件模板
        - storage.conf.sample - 存储服务器配置文件模板
        - client.conf.sample - FastDFS提供的命令行客户端配置文件模板。可以通过命令行测试FastDFS有效性。

5、Tracker 服务

    1)、修改配置文件
        复制一份模板配置文件
        cd /etc/fdfs
        cp tracker.conf.sample tracker.conf
        打开 tracker.conf
        修改 base_path 路径,base_path FastDFSTracker启动后使用的根目录,用来存放Tracker data和logs。
        base_path=/home/yuqing/fastdfs -> base_path=/var/data/fastdfs-tracker(自定义目录)
        配置中的路径需要先创建好才能启动服务
        mkdir -p /var/data/fastdfs-tracker
    2)、 启动Tracker
        /etc/init.d/fdfs_trackerd start
        启动成功后,配置文件中base_path指向的目录中出现FastDFS服务相关数据目录(data目录、logs目录)
    3)、 查看服务状态 ps -ef | grep fdfs
    4)、停止服务 /etc/init.d/fdfs_trackerd stop
    5)、重启服务 /etc/init.d/fdfs_trackerd restart

6、 启动 Storage

    1)、配置文件
        cd /etc/fdfs
        cp storage.conf.sample storage.conf
        mkdir -p /var/data/fastdfs-storage/base
        mkdir -p /var/data/fastdfs-storage/store
        base_path=/home/yuqing/fastdfs -> base_path=/var/data/fastdfs-storage/base(自定义目录)
        store_path0=/home/yuqing/fastdfs -> store_path0=/var/data/fastdfs-storage/store(自定义目录)
        tracker_server=192.168.150.11:22122 -> tracker_server=tracker服务IP:22122
        - base_path - 基础路径。用于保存storage server基础数据内容和日志内容的目录。
        - store_path0 - 存储路径。是用于保存FastDFS中存储文件的目录,就是要创建256*256个子目录的位置。base_path和store_path0可以使用同一个目录。
        - tracker_server - 跟踪服务器位置。就是跟踪服务器的ip和端口。
    2)、启动服务
        要求tracker服务必须已启动
        /etc/init.d/fdfs_storaged start
        启动成功后,配置文件中base_path指向的目录中出现FastDFS服务相关数据目录(data目录、logs目录)
        配置文件中的store_path0指向的目录中同样出现FastDFS存储相关数据录(data目录)
        其中$store_path0/data/目录中默认创建若干子孙目录(两级目录层级总计256*256个目录),是用于存储具体文件数据的。
        Storage服务器启动比较慢,因为第一次启动的时候,需要创建256*256个目录。
    3)、查看服务状态  /etc/init.d/fdfs_storaged status
    4)、停止服务 /etc/init.d/fdfs_storaged stop
    5)、重启服务 /etc/init.d/fdfs_storaged restart

7、 Client客户端

    1)、修改配置文件
        cd /etc/fdfs
        cp client.conf.sample client.conf
        client.conf配置文件中主要描述客户端的行为,需要进行下述修改:
        vi /etc/fdfs/client.conf
        base_path=/home/yuqing/fastdfs -> base_path=/fastdfs/client (自定义目录)
        tracker_server=192.168.150.11:22122 -> tracker_server=tracker服务IP:22122
        base_path - 就是客户端命令行执行过程时临时数据存储位置。
        创建自定义目录 mkdir -p /fastdfs/client
    2)、上传文件
        /usr/local/bin/fdfs_upload_file /etc/fdfs/client.conf /要上传的文件
        [root@node03 data]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /root/install.log
        group1/M00/00/00/wKiWDV0xfqWAFe1OAAAib-i5DLU637.log
        上传结束后,返回group1/M00/00/00/xxxxxxxxxx.xxx,检查storage服务结点中的$store_path0/data/00/00/目录中是否有上传的文件(一般情况上传的文件按顺序保存在$store_path0/data/00/00/目录中,不能完全保证)。
        上传文件结果:group1/M00/00/00/wKiWDV0xfqWAFe1OAAAib-i5DLU637.log
        - 组名:**group1**文件上传后所在的storage组名称,在文件上传成功后有storage服务器返回,需要客户端自行保存。
        - 虚拟磁盘路径:**M00** storage配置的虚拟路径,与磁盘选项store_path*对应。如果配置了store_path0则是M00,如果配置了store_path1则是M01,以此类推。
        - 数据两级目录:**/00/00** storage服务器在每个虚拟磁盘路径下创建的两级目录,用于存储数据文件。
        - 文件名:**wKiWDV0xfqWAFe1OAAAib-i5DLU637.log**
    3)、删除文件
        /usr/bin/fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKiWDV0xfqWAFe1OAAAib-i5DLU637.log

8、Nginx组件

    如果FastDFS中保存的是图片信息。希望在WEB应用中可以直接访问FastDFS中的图片进行显示。如果操作?
    安装Nginx是为了WEB应用中可以使用HTTP协议直接访问Storage服务中存储的文件。在storage结点所在服务器安装Nginx组件。
    需要安装两部分内容。
    Nginx应用,在安装nginx应用的时候,同时要在nginx中增加一个FastDFS的组件。
    1)、fastdfs-nginx-module模块
        上传并解压 tar -zxf fastdfs-nginx-module_v1.16.tar.gz
    2)、修改配置vi /usr/local/fastdfs/fastdfs-nginx-module/src/config
        CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
    3)、编译安装Nginx
        ./configure --prefix=/usr/local/tengine
        --add-module=/root/fastdfs-nginx-module/src/
        make && make install
    4)、配置fastdfs-nginx-module
        --拷贝配置文件
            cp /root/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
        --修改配置文件 mod_fastdfs.conf
            tracker_server=192.168.2.109:22122
            url_have_group_name = true
            store_path0=/var/data/fastdfs-storage/store
        -- 拷贝http服务需要的配置
            复制FastDFS安装包中的两个配置文件(http.conf和mime.types)到/etc/fdfs目录中
    5)、创建网络访问存储服务的软连接
        在上传文件到FastDFS后,FastDFS会返回group1/M00/00/00/xxxxxxxxxx.xxx。其中group1是卷名,在mod_fastdfs.conf配置文件中已配置了url_have_group_name,以保证URL解析正确。
        而其中的M00是FastDFS保存数据时使用的虚拟目录,需要将这个虚拟目录定位到真实数据目录上。
        ln -s /var/data/fastdfs-storage/store/data/ /var/data/fastdfs-storage/store/data/M00
    6)、 修改nginx配置文件

     location ~ /group([0-9])/M00 {
            ngx_fastdfs_module;
        }

        http://192.168.150.11/group1/M00/00/00/wKiWC10xxc6AfHCKAAAib-i5DLU543_big.log
    7)、文件名
        add_header Content-Disposition "attachment;filename=$arg_attname";
本文链接地址:http://www.ysxbohui.com/article/50

正文到此结束
相关文章