Linux下搭建分布式文件存储服务FastDFS

Linux下搭建分布式文件存储服务FastDFS

  • Linux下搭建FastDFS
    • 环境准备
    • 环境安装
    • 配置Tracker服务
    • 配置Storage服务
    • 环境测试
    • 结合Nginx
    • 解决开机服务没有自启动问题?

Linux下搭建FastDFS

环境准备

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

192.168.232.12 –-> 安装tracker

192.168.232.13 –-> 安装storage、nginx

需下载如下所示等安装包  
​​​​​​Linux下搭建分布式文件存储服务FastDFS_第1张图片
也可到如下链接进行下载,压缩包内容如上所示:
链接:https://pan.baidu.com/s/1m0JOdm-8HuL2JgqKM4A74w
提取码:p5xy

环境安装

  • 安装基础环境
    分别上传到两台Linux服务器之上 (安装tracker、storage)
    Linux下搭建分布式文件存储服务FastDFS_第2张图片
yum install -y gcc gcc-c++ 

Linux下搭建分布式文件存储服务FastDFS_第3张图片

yum -y install libevent

Linux下搭建分布式文件存储服务FastDFS_第4张图片

  • 安装libfatscommon函数库
    解压:
tar -zxvf libfastcommon-1.0.42.tar.gz

Linux下搭建分布式文件存储服务FastDFS_第5张图片

进入libfatscommon文件夹,编译安装

cd libfatscommon-1.0.42
./make.sh

Linux下搭建分布式文件存储服务FastDFS_第6张图片

./make.sh install

Linux下搭建分布式文件存储服务FastDFS_第7张图片
安装目录如上所示,注意:/usr/bin

  • 安装fastdfs
    解压:
tar -zxvf fastdfs-6.04.tar.gz

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

cd fastdfs-6.04/

Linux下搭建分布式文件存储服务FastDFS_第8张图片

 vim make.sh

Linux下搭建分布式文件存储服务FastDFS_第9张图片
编译fastdfs

./make.sh

在这里插入图片描述

./make.sh install

在这里插入图片描述
进入fastdfs解压后的安装目录,进入到里面的conf文件目录,把conf文件夹的所有配置文件拷贝到/etc/fdfs/之下:
Linux下搭建分布式文件存储服务FastDFS_第10张图片

配置Tracker服务

tracker和storage都是同一个fastdfs的主程序的两个不同概念,配置不同的配置文件就可以设定为tracker或storage
配置tracker
进入到(192.168.232.12)这台服务器的 /etc/fdfs 目录之下

cd /etc/fdfs/

Linux下搭建分布式文件存储服务FastDFS_第11张图片
修改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

配置Storage服务

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

cd /etc/fdfs/

Linux下搭建分布式文件存储服务FastDFS_第12张图片
修改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服务安装成功。但是,还没完!

环境测试

到storage服务器的 /etc/fdfs/ 目录下修改 client.conf 配置文件
Linux下搭建分布式文件存储服务FastDFS_第13张图片

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

Linux下搭建分布式文件存储服务FastDFS_第14张图片
上传成功之后的信息如上图所示,表明所上传的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 

Linux下搭建分布式文件存储服务FastDFS_第15张图片
进入依赖插件的解压目录 /fastdfs-nginx-module-1.22/src 下复制配置文件如下:

cp mod_fastdfs.conf /etc/fdfs/

Linux下搭建分布式文件存储服务FastDFS_第16张图片
该文件是和nginx的一些配置
修改/fastdfs-nginx-module/src/config文件,主要是修改路径,把 local 删除,因为fastdfs安装的时候我们没有修改路径,原路径是/usr/local/include,但实际安装的路径是/usr/bin
Linux下搭建分布式文件存储服务FastDFS_第17张图片

结合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文件成功
Linux下搭建分布式文件存储服务FastDFS_第18张图片
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

在这里插入图片描述
随后,通过浏览器进行访问改地址即可查看到之前上传的那张图片
Linux下搭建分布式文件存储服务FastDFS_第19张图片
至此,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配置如下:
Linux下搭建分布式文件存储服务FastDFS_第20张图片
storage配置如下:
Linux下搭建分布式文件存储服务FastDFS_第21张图片
2. 给rc.local 文件增加可执行权限,因为该文件在centos 7中的文件权限降低了

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

最后重启两台服务进行测试开启自启是否成功,如下所示:
Linux下搭建分布式文件存储服务FastDFS_第22张图片
完成!

你可能感兴趣的:(Linux学习,linux,nginx,centos)