Linux 7.X 分布式文件存储服务FastDFS搭建部署

Posted 嘿,小竹子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 7.X 分布式文件存储服务FastDFS搭建部署相关的知识,希望对你有一定的参考价值。

 

  1、下载

    环境准备:

    Centos7.x 两台,分别安装tracker与storage服务

    192.168.232.12 –-> 安装tracker

    192.168.232.13 –-> 安装storage、nginx

    需下载如下所示等安装包  

      

     也可到如下链接进行下载,压缩包内容如上所示:

     链接:https://pan.baidu.com/s/1m0JOdm-8HuL2JgqKM4A74w

     提取码:p5xy

  2、安装

    分别上传到两台Linux服务器之上(安装tracker、storage)

       

    1. 安装基础环境:

      yum install -y gcc gcc-c++ 

     

     yum -y install libevent

     

     2. 安装libfatscommon函数库:

     解压:

     tar -zxvf libfastcommon-1.0.42.tar.gz

        

       进入libfatscommon文件夹,编译安装

     cd libfatscommon-1.0.42

     ./make.sh

       

     ./make.sh install

                  

       安装目录如上所示,注意:是 /usr/bin

     3. 安装fastdfs

      解压:

      tar -zxvf fastdfs-6.04.tar.gz

      进入到fastdfs目录,查看fastdfs安装配置

      cd fastdfs-6.04/

      

       vim make.sh

       

         安装fastdfs

       ./make.sh

       

       ./make.sh install

      

      进入fastdfs解压后的安装目录,进入到里面的conf文件目录,把conf文件夹的

      所有配置文件拷贝到/etc/fdfs/之下:

        

  3、配置Tracker服务

    tracker和storage都是同一个fastdfs的主程序的两个不同概念,配置不同的配置文件

    就可以设定为tracker或storage

    配置tracker

       进入到(192.168.232.12)这台服务器的 /etc/fdfs 目录之下

    cd /etc/fdfs/

    

     修改tracker配置文件,此处为tracker的工作目录,保存数据以及日志(路径自己指定)

     vim tracker.conf

    

    在配置文件中指定的工作目录是不存在的,所以需要进行创建如下:

    mkdir /usr/local/fastdfs/tracker -p

    

     启动tracker服务,使用如下命令

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

    

    检查进程:

       ps -ef | grep tracker

    

    停止tracker  这儿只是给出了停止服务的命令

    /usr/bin/stop.sh /etc/fdfs/tracker.conf

 

  4、配置Storage服务

    配置storage

       进入到(192.168.232.13)这台服务器的 /etc/fdfs 目录之下

    cd /etc/fdfs/

    

     修改storage配置文件如下

     vim storage.conf  

    # 修改组名,自己随意修改 如下组名为test

    group_name=test

    # 修改storage的工作空间

    base_path=/usr/local/fastdfs/storage

    # 修改storage的存储空间

    store_path0=/usr/local/fastdfs/storage

    # 修改tracker的地址和端口号,用于心跳

    tracker_server=192.168.232.12:22122

    # 结合nginx的一个对外服务器端口号

    http.server_port=8888

    在配置文件中指定的工作目录是不存在的,所以需要进行创建如下:

    mkdir /usr/local/fastdfs/storage -p

    

     启动storage服务,使用如下命令

    注意:必须先启动tracker

       /usr/bin/fdfs_storaged /etc/fdfs/storage.conf 

    

    检查进程:

       ps -ef | grep storage

    

    停止storage  这儿只是给出了停止服务的命令 

    /usr/bin/stop.sh /etc/fdfs/storage.conf

    至此,tracker、storage服务安装成功。但是,还没完!

  5、测试

    到storage服务器的 /etc/fdfs/ 目录下修改 client.conf 配置文件

    vim client.conf

    

     修改信息如下:

    # 创建一个路径,自己随意指定目录文件

    base_path=/usr/local/fastdfs/client

    # 192.168.232.12 是tracker服务器的IP地址 22122是端口号

    tracker_server=192.168.232.12:22122

    创建配置文件中指定的文件

    mkdir /usr/local/fastdfs/client -p

    然后自己上传一张照片到服务器进行测试,也可以在服务器通过

    wget + 图片地址   进行下载 例:wget https://timgsa.baidu.com/timg

    这儿我提前上传了一个test.jpg 图片用作测试

    

    接着把 test.jpg 上传到storage下,使用如下命令:

    /usr/bin/fdfs_test /etc/fdfs/client.conf upload test.jpg

    

    上传成功之后的信息如上图所示,表明所上传的test.jpg被上传到了

    /usr/local/fastdfs/storage/data/ 目录下,其中M00是个虚拟文件夹,它所对应的真实文件夹

    是data。随后进入到 /usr/local/fastdfs/storage/data/ 目录下进行

    查看data相当于M00这个虚拟文件夹

    

    上传成功!

       但是,现在还不能通过浏览器进行访问。还需要通过借助第三方来访问。这就需要用到nginx

    安装nginx插件:

    解压nginx的fastdfs压缩包

     tar -zxvf fastdfs-nginx-module-1.22.tar.gz

    

      进入依赖插件的解压目录 /fastdfs-nginx-module-1.22/src 下复制配置文件如下:

    cp mod_fastdfs.conf /etc/fdfs/

    

    该文件是和nginx的一些配置

       修改/fastdfs-nginx-module/src/config文件,主要是修改路径,把 local 删除,因为fastdfs安装

    的时候我们没有修改路径,原路径是/usr/local/include,但实际安装的路径是/usr/bin 

    

 

      安装Nginx

    安装nginx可参考 https://www.cnblogs.com/jhtian/p/12517659.html

    注意:在配置nginx的时候把配置文件换成如下配置信息

    ./configure \\

    --prefix=/usr/local/nginx \\

    --pid-path=/var/temp/run/nginx/nginx.pid \\

    -lock-path=/var/lock/nginx.lock \\

    --error-log-path=/var/log/nginx/error.log \\

    --http-log-path=/var/log/nginx/access.log \\

    --with-http_gzip_static_module \\

    --http-client-body-temp-path=/var/temp/nginx/client \\

    --http-proxy-temp-path=/var/temp/nginx/proxy \\

    --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \\

    --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \\

    --http-scgi-temp-path=/var/temp/nginx/scgi \\

    --add-module=/home/software/fastdfs-nginx-module-1.22/src

      注意:上面中的“\\” 在命令行中是换行,用于提高可读性。

        --add-module=/home/software/fastdfs-nginx-module-1.22/src

        --add-module是nginx和fastdfs彼此之间衔接的模块

    创建makefile文件成功

    

    nginx安装配置成功之后,就开始进行nginx插件的配置  

    进入/etc/fdfs/下,修改mod_fastdfs.conf配置文件信息

    修改如下信息:  

    vim mod_fastdfs.conf

    base_path=/usr/local/fastdfs/tmp

    tracker_server=192.168.232.12:22122

    group_name=test

    store_path0=/usr/local/fastdfs/storage

    url_have_group_name = true  

    然后在进入到nginx的配置文件修改nginx.conf文件如下:

    vim nginx.conf    

    server {

            listen       8888;

            server_name  localhost;

           location /test/M00 {

                ngx_fastdfs_module;

            }

    }

    然后重启nginx服务

    看见如下信息代表配置成功!

    ngx_http_fastdfs_set pid=4997

    

     随后,通过浏览器进行访问改地址即可查看到之前上传的那张图片

    

    至此,fastdfs分布式文件搭建测试成功!

    

    解决开机服务没有自启动问题?

    每次关机重启都需要我们手动的去启动服务,为了解决这个麻烦就把fastdfs的服务加入到

    开启服务里面,tracker、storage两台机器分别进行如下设置。

    Nginx+Fastdfs(tracker+storage)开机自启动

    1. 编辑 /etc/rc.d/rc.local 文件,增加启动项

    vim /etc/rc.d/rc.local

    在该脚本中增加配置信息如下:    

    # fastdfs tracker 配置在这台服务 192.168.232.12  

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

 

    # fastdfs storage 配置在这台服务 192.168.232.13

    /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

 

    # nginx start 开机自启 配置在192.168.232.13

    /usr/local/nginx/sbin/nginx

    tracker、storage 位置不同所配置的路径就不同

    此处要保证nginx自启动成功的话,就需要在配置nginx.pid的时候,路径不要设置在/var/run

    目录之下。上述配置如下截图:

    tracker配置如下:

    

       storage配置如下:

    

    2. 给rc.local 文件增加可执行权限,因为该文件在centos 7中的文件权限降低了

    chmod +x /etc/rc.d/rc.local

    最后重启两台服务进行测试开启自启是否成功,如下所示:

    

      完成!

 

 

 

 

以上是关于Linux 7.X 分布式文件存储服务FastDFS搭建部署的主要内容,如果未能解决你的问题,请参考以下文章

Centos 7.X部署分布式文件系统:FastDFS+Nginx

fastDFS安装

Centos 7.X 部署基于Git&Gitolite的分布式版本控制系统

商品 Linux 存储场的最佳分布式文件系统 [关闭]

Linux运维数据库篇 搭建GFS分布式存储 实现数据的实时分布存储

Linux运维数据库篇 搭建GFS分布式存储 实现数据的实时分布存储