zoukankan      html  css  js  c++  java
  • 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

     

      3、配置Storage服务

        配置storage

           进入到(192.168.232.12)这台服务器的 /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

        

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

        /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

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

        

          完成!

  • 相关阅读:
    ZOJ 3332 Strange Country II
    ZOJ 3331 Process the Tasks(双塔DP)
    ZOJ 3326 An Awful Problem(模拟)
    HDU 1796 How many integers can you find(容斥原理)
    HDU 4059 The Boss on Mars(容斥原理)
    HDU 4135 Co-prime(容斥原理)
    HDU 5677 ztr loves substring(回文串加多重背包)
    CodeForces 668B Little Artem and Dance
    CodeForces 667A Pouring Rain
    Java实现 LeetCode 764 最大加号标志(暴力递推)
  • 原文地址:https://www.cnblogs.com/jhtian/p/12786814.html
Copyright © 2011-2022 走看看