linux服务器安装分布式文件存储系统fastDFS

基本原理:

fastDFS是一个分布式文件存储系统,由tracker和storage两个服务组成.tracker负责查找文件存储的路径,storage负责存储文件.当一个文件请求到达fastDFS后,先找tracker服务查询文件存储的路径,然后根据路径请求storage服务访问文件资源.当文件上传的时候storage和tracker服务进行通信,将上传文件的位置信息通知给tracker.
由于fastDFS内部采用的通信协议是FTP,因此只安装fastDFS无法在浏览器地址栏通过http协议访问上传到fastDFS上的资源,因此需要借助强大nginx+fastdfs-nginx-module插件来实现浏览器http协议进行资源访问.

一、安装gcc

命令: yum install make cmake gcc gcc-c++

二、安装libfastcommon

1.上传:libfastcommon-1.0.38.tar.gz到文件目录下,进行解压:
命令:tar -xvf libfastcommon-1.0.38.tar.gz -c 解压到的目录
2.进入目录:cd /usr/local/解压目录/libfastcommon/,进行编译安装:
编译:./make.sh
安装:./make.sh install
3.进行软件创建.由于fastDFS主程序设置的目录为/usr/local/lib/,所以我们需要创建/usr/lib64/下的一些核心执行程序的软链接文件到该目录下:
命令:mkdir /usr/local/lib/
命令:ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
命令:ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so

三、安装fastDFS

1.进入到fastDFS.tar.gz目录下,解压;
命令:tar -zxvf fastdfs-5.09.tar.gz -c 解压到的目录(这里用的5.09版本)
2.编译安装:
命令:cd /解压带到的目录/FastDFS
编译:./make.sh
安装:./make.sh install

  • 注:如果编译时显示命令找不到,使用以下命令进行安装命令:
    yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget
  • 注: 如果编译过程中有错误,换个版本试一下,之前用的fastdfs-5.05.tar.gz编译时有问题,换成fastdfs-5.09.tar.gz后问题解决;

3.因为fastDFS服务脚本设置的bin目录为/usr/local/bin/下,但是实际我们安装在了/usr/bin/下,所以需要修改FastDFS配置文件的路径,也就是需要修改两个配置文件:
命令:vim /etc/init.d/fdfs_storaged
进行全局替换命令:%s+/usr/local/bin+/usr/bin
命令:vim /etc/init.d/fdfs_trackerd
进行全局替换命令:%s+/usr/local/bin+/usr/bin

四、配置tracker:

1.安装完fastDFS,配置文件默认在/etc/fdfs/目录下,进入/etc/fdfs目录,有三个.sample后缀的文件(自动生成的fdfs模板配置文件),通过cp命令拷贝tracker.conf.sample,删除.sample后缀作为正式文件;
2.编辑tracker.conf文件:

  • base_path=自定义路径: tracker存储data和log的跟路径(目录必须存在)
  • port=22122 #tracker默认22122
  • http.server_port=8080 #请求资源时http端口(默认8080),nginx就是监听该端口拦截请求
注:无论是tracker单体,还是tracker集群,配置以上3项即可;

3.启动tracker(支持start|stop|restart):
启动命令:/etc/init.d/fdfs_trackerd start
停止命令: /etc/init.d/fdfs_trackerd stop
查看进程命令:ps -ef | grep fdfs 或者 netstat -tunpl | grep fdfs
查看启动日志:tail -f /base_path配置的路径/logs/trackerd.log

五、配置storage:

1.进入/etc/fdfs目录,用cp命令拷贝storage.conf.sample,删除.sample后缀作为正式文件;
2.使用命令:vi storage.conf修改storage配置;

  • group_name=group1: 第一组就是group1,第二组就是group2
  • base_path=自定义路径: storage存储data和log的跟路径(目录必须存在)
  • port=23000: storge默认端口,同一个组的storage端口号需一致
  • store_path_count=1: 存储路径个数,需要和store_path个数匹配
  • store_path0=文件存储路径: 如果为空,则使用base_path
  • tracker_server=监听的tracker的ip:端口 (多个tracker可以添加多条来配置tracker集群)
  • Http.server_port=8888: 对外开放的端口号

3.启动storage(支持start|stop|restart):
启动命令: /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
停止命令: /usr/bin/fdfs_storaged /etc/fdfs/storage.conf stop

六、通过monitor命令来查看storage信息:

命令: /usr/bin/fdfs_monitor /etc/fdfs/storage.conf

七、测试fastDFS配置是否成功,测试文件上传(不需要测试时直接忽略)

1.进入/etc/fdfs/目录下,cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
2.修改client.conf配置文件:

  • base_path=自定义路径: client存储data和log的跟路径(目录必须存在)
  • tracker_server=tracker的ip和端口

3.使用命令进行文件上传:
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf 文件全路径名
返回文件存储路径即上传成功

八、安装Nginx和fastdfs-nginx-module模块

fastDFS上传文件可以直接上传,下载的时候考虑到用户量大,下载慢的问题,需要结合nginx进行负载均衡配置,nginx与fastDFS进行负载均衡时,安装需要配置fastdfs-nginx-module;
安装步骤:
1. 上传nginx-1.16.1.tar.gz到文件目录下,进行解压:
tar -xvf nginx-1.16.1.tar.gz
2.上传fastdfs-nginx-module-1.20.tar.gz到文件目录下,进行解压::
tar -xvf fastdfs-nginx-module-1.20.tar.gz
3.安装依赖的库(此步骤先跳过,先配置安装,有问题在根据需要安装)
apt-get update
apt-get install libpcre3 libpcre3-dev openssl libssl-dev libperl-dev
4.在nginx中配置fastdfs-nginx-module插件:

  • 进入nginx解压后的目录执行配置命令:
    ./configure --prefix=/usr/local/nginx --add-module=fastdfs-nginx-module-master解压路径/src/
  • –prefix=/usr/local/nginx:表示nginx需要安装到的目录;
  • –add-module=fastdfs-nginx-module解压路径/src/:
    安装nginx的时候添加fastDFS-nginx-module的配置,路径为解压路径+/src/;

5.进入nginx解压后的目录执行编译和安装命令:
make
make install
6.配置Nginx和fastdfs-nginx-module:
1)安装完后会在fastdfs-nginx-module-master解压路径/src/ 目录下生成mod_fastdfs.conf文件,将该文件拷贝到/etc/fastdfs/目录下;
2)使用vim命令修改该配置文件:

  • connect_timeout = 10;
  • tracker_server = tracker的ip:端口号(22122)
  • url_have_group_name = true;//表示访问fastDFS文件时url是否带组的信息,如:group0
  • store_path0=fastDFS文件存储的目录(目录为storage的data目录的上级目录)

7.解压缩后的fastdfs解压目录conf目录中有个http.confmime.types文件,将这两个文件拷贝到/etc/fastdfs/目录下;
8.配置nginx的配置文件:
进入目录: cd /etc/local/nginx/conf/
修改配置文件:vim nginx.conf
为了让nginx能够提供fastDFS中的文件,需要进行如下配置:

server{
	listen  8888;
	server_name localhost;
	location ~/group[0-9]{//当请求nginx路径中有group时去访问fastDFS
	ngx_fastdfs module;
	}
	error_page 500 502 503 504 /50x.html;
	location = /50x.html {
	root html;
	}
}

9.以上步骤配置完成后,确认端口为开放状态即可通过浏览器地址栏进行资源访问.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值