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
Centos 7.X 部署基于Git&Gitolite的分布式版本控制系统