前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用CentOS 7搭建FastDFS分布式文件系统教程

使用CentOS 7搭建FastDFS分布式文件系统教程

作者头像
吴柯
发布2018-04-19 10:32:01
1.6K0
发布2018-04-19 10:32:01
举报

“每个理性的IT人士都置顶了吴柯的运维笔记”

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

(图片来源网络)

FastDFS安装配置

下载地址:余庆的github

https://github.com/happyfish100/fastdfs/releases

环境安装

#yum -y install gcc gcc-c++

安装fastdfs依赖libevent

#yum -y install libevent*

下载libfastcommon安装包

#git clone https://github.com/happyfish100/libfastcommon.git

#cd libfastcommon/

#./make.sh

#./make.sh install

下载安装FastDFS安装包

下载压缩包-解压-进入安装包-执行安装脚本(余庆这里写好安装脚本,执行就行)

#wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz

#tar -zxvf V5.05.tar.gz

#cd fastdfs-5.05/

#./make.sh

#./make.sh install

安装成功后,/etc/fdfs目录下会有相关配置文件:

client.conf

http.conf

mime.types

storage.conf

tracker.conf

注意:以上步骤在tracker和storage端都执行安装

修改配置文件:

配置tracker(服务器:192.168.10.231)

1.配置tracker数据文件和目录

#mkdir /data/fastdfs/trackerd/data

#mkdir /data/fastdfs/trackerd/logs

2.修改配置文件

# vim /etc/fdfs/tracker.conf

disabled=false #启用配置文件

port=22122 #设置tracker的端口号

base_path=/data/fastdfs/trackerd#设置tracker的数据文件和日志目录

http.server_port=80 #设置http端口号

3.启动tracker服务

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

需要的开机自动开启的情况:

# echo '/usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart' >> /etc/rc.d/rc.local

4.查看服务端口

# netstat -ntpul |grep :22122

tcp 0 0 0.0.0.0:22122 0.0.0.0:* LISTEN 19162/fdfs_trackerd

配置storage(服务器:192.168.10.232)

1.配置tracker数据文件和目录

#mkdir /data/fastdfs/storage/data

#mkdir /data/fastdfs/storage/logs

2.修改storage配置文件

disabled=false #启用配置文件

group_name=group1 #组名,根据实际情况修改

port=23000 #设置storage的端口号

base_path=/data/fastdfs/storage #设置storage的日志目录

store_path_count=1 #存储路径个数,需要和store_path个数匹配

store_path0=/data/fastdfs/storage #存储路径

tracker_server=192.168.10.231:22122 #tracker服务器的IP地址和端口号

http.server_port=80 #设置http端口号

3.启动storaged服务  

#/usr/bin/fdfs_storage /etc/fdfs/storage.conf

设置开机启动

#echo '/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart' >> /etc/rc.d/rc.loca

4.查看服务端口

# netstat -ntpul |grep :23000

tcp 0 0 0.0.0.0:23000 0.0.0.0:* LISTEN 10394/fdfs_storaged

配置http.conf中有防盗链的,可以根据需要配置一下

http.anti_steal.check_token=true #是否开启防盗链,默认为false

http.anti_steal.check_token=truehttp.anti_steal.token_ttl=900 #防盗链token的有效时长

http.anti_steal.secret_key=FastDFSSecretKey001 #生成token的密钥

http.anti_steal.token_check_fail=/data/fastdfs/img/anti-steal.jpg 如果是防盗链,需要展示的图片路径

配置client及上传文件

#mkdir /data/fastdfs/client #创建client文件

# vim /etc/fdfs/client.conf #根据数据情况修改 base_path=/data/fastdfs/client tracker_server=192.168.10.231:22122

# fdfs_upload_file /etc/fdfs/client.conf /root/test.jpg #上传测试文件

group1/M00/00/00/wKgK6Fq0mYyAa2jUAAJ2pe-M3qM977.jpg

执行成功会返回对应的组+M00+图片的相对路径(也即上述storage配置的路径)

安装fastdfs-nginx-module模块,配置nginx做反向代理,使用浏览器访问上传文件

1.安装nginx依赖

# yum -y install openssl openssl-devel pcre pcre-devel zlib zlib-devel

2.下载fastdfs-nginx-module模块

#git clone https://github.com/happyfish100/fastdfs-nginx-module

#vim /root/fastdfs-nginx-module/src/config #配置插件参数

CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"

CORE_LIBS="$CORE_LIBS -L/usr/lib -lfastcommon -lfdfsclient"

不做修改可能出现如下情况

(编译时会报错:

/usr/src/fastdfs-nginx-module/src/common.c:21:25:致命错误:fdfs_define.h:没有那个文件或目录

#include "fdfs_define.h"编译中断。

原因:编译安装nginx的fastdfs插件的头文件没有找到,由于编译nginx时候系统会到/usr/local/include,而编译安装fastdfs-nginx-module时则默认保存在了/usr/include目录。

修复:ln -s /usr/include/fast* /usr/local/include/

)

3.下载安装nginx

# wget http://nginx.org/download/nginx-1.12.2.tar.gz

#tar -xvf nginx-1.12.2.tar.gz

#useradd -s /sbin/nologin nginx //创建nginx用户

#cd nginx-1.12.2

#./configure --prefix=/usr/local/nginx --with-http_ssl_module --user=nginx --group=nginx --add-module=/root/fastdfs-nginx-module/src/

#make && make install

# nginx -V #查看已添加的模块

nginx version: nginx/1.12.2

built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)

built with OpenSSL 1.0.1e-fips 11 Feb 2013

TLS SNI support enabled

configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module --user=nginx --group=nginx --add-module=/root/fastdfs-nginx-module/src/

4.修改nginx配置文件并启动

# vim /usr/local/nginx/conf/nginx.conf

server {

listen 8081;

server_name localhost 192.168.10.232;

location /group1/M00{

root /fastdfs/storage/data;

ngx_fastdfs_module;

}

}

启动nginx

# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

# netstat -ntpul |grep nginx

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 13311/nginx: master

tcp 0 0 0.0.0.0:8081 0.0.0.0:* LISTEN 13311/nginx: master

5.拷贝并修改fastdfs-nginx-module的配置文件

#cp /root/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs

#vim /etc/fdfs/mod_fastdfs.conf

tracker_server=192.168.10.231:22122

store_path0=/data/fastdfs/storage

base_path=/data/fastdfs/storage/data

url_have_group_name = true (配置多个tracker时,应该将此项设置为true)

6.建立软连接(配置文件中storage存放数据的路径)

#ln -s /data/fastdfs/storage/data /data/fastdfs/storage/data/M00

将FastDFS_v4.06配置目录下的2个文件复制到/etc/fdfs目录下:

#cp /usr/local/fastdfs-5.05/conf/http.conf /etc/fdfs

#cp /usr/local/fastdfs-5.05/conf/mime.types /etc/fdfs

7.重启nginx

# /usr/local/nginx/sbin/nginx -s reload

8.上传文件并测试浏览器访问

# fdfs_upload_file /etc/fdfs/client.conf /root/test.jpg

group1/M00/00/00/wKgK6Fq0mYyAa2jUAAJ2pe-M3qM977.jpg

浏览器访问:ip:端口/上传文件路径

http://192.168.10.232:8081/group1/M00/00/00/wKgK6Fq0mYyAa2jUAAJ2pe-M3qM977.jpg

效果如下:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 吴柯的运维笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档