CentOS7 安装FastDFS分布式文件系统
CentOS7 安装FastDFS分布式文件系统
最近要用到fastDFS,所以自己研究了一下,在搭建FastDFS的过程中遇到过很多的问题,为了能帮忙到以后搭建FastDFS的同学,少走弯路,与大家分享一下。FastDFS的作者淘宝资深架构余庆,这个优秀的轻量及的分布式文件系统的开源没多久,立马就火了。
FastDFS是为互联网应用量身定做的一套分布式文件存储系统,非常适合用来存储用户图片、视频、文档等文件
版本介绍
系统:centos7.4
fastdfs-6.06.tar.gz
libfastcommon-1.0.43.tar.gz
fastdfs-nginx-module-1.22.tar.gz
nginx-1.17.7.tar.gz
一.FastDFS搭建工具下载
作者的GitHub地址:https://github.com/happyfish100
下载地址:
- nginx地址
二:使用 wget 命令下载压缩包,如果没有 wget 命令使用 yum 命令安装
yum install wget
三:下载 fastdfs
wget -c "https://github.com/happyfish100/fastdfs/archive/V6.06.tar.gz" \
-O fastdfs-6.06.tar.gz
四:下载 libfastcommon
wget -c "https://github.com/happyfish100/libfastcommon/archive/V1.0.43.tar.gz" \
-O libfastcommon-1.0.43.tar.gz
五:下载 fastdfs-nginx-module
wget -c "https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.22.tar.gz" \
-O fastdfs-nginx-module-1.22.tar.gz
六:下载 nginx
wget -c http://nginx.org/download/nginx-1.17.7.tar.gz
七:安装编译工具及库文件
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
八:测试环境关闭防火墙
systemctl stop firewalld.service
九:开机禁用防火墙
systemctl disable firewalld.service
十:查看防火墙状态
firewall-cmd --state
十一:解压下载好的包
tar -zxvf fastdfs-6.06.tar.gz
tar -zxvf fastdfs-nginx-module-1.22.tar.gz
tar -zxvf libfastcommon-1.0.43.tar.gz
tar -zxvf nginx-1.17.7.tar.gz
十二:编译安装 libfastcommon
1、进入解压后的目录
# cd /opt/softwares/libfastcommon-1.0.43
2、编译安装
# ./make.sh && ./make.sh install
3、检查
ls /usr/lib64|grep libfastcommon
ls /usr/lib|grep libfastcommon
出现libfastcommon.so即成功
十三:编译安装 fastdfs
1、进入解压后的目录
# cd /opt/softwares/fastdfs-6.06
2、编译安装
# ./make.sh && ./make.sh install
3、检查
# ls /usr/bin|grep fdfs
4、启用配置文件
cd /etc/fdfs/
cp storage.conf.sample storage.conf
cp client.conf.sample client.conf
cp tracker.conf.sample tracker.conf
mkdir -p /fastdfs/tracker
5、修改 tracker.conf 文件
vim /etc/fdfs/tracker.conf
base_path = /fastdfs/tracker
6、启动 tracker 服务
/etc/init.d/fdfs_trackerd start
7、检查服务是否启动
ps -ef|grep fdfs
8、修改 storage.conf 文件
vim /etc/fdfs/storage.conf
base_path = /fastdfs/storage
store_path0 = /fastdfs/storage
tracker_server = 192.168.0.179:22122
http.server_port = 80
9、创建目录
mkdir -p /fastdfs/storage
10、启动 storage 服务
/etc/init.d/fdfs_storaged start
11、设置开机启动
vim /etc/rc.d/rc.local
加入配置
/etc/init.d/fdfs_trackerd start
/etc/init.d/fdfs_storaged start
12、编辑 client.conf 文件
vim /etc/fdfs/client.conf
修改
base_path = /fastdfs/tracker
tracker_server=192.168.0.179:22122
十四:安装 nginx 和 fastdfs-nginx-module
1、安装pcre
yum -y install pcre pcre-devel
2、进入解压目录
cd /opt/softwares/nginx-1.17.7
3、添加 http_stub_status_module 模块
./configure --prefix=/usr/local/nginx --with-http_stub_status_module
4、进入 /opt/softwares/fastdfs-nginx-module-1.22/src/
cd /opt/softwares/fastdfs-nginx-module-1.22/src
5、编辑配置文件
vim config
6、将config文件中的/usr/local替换成/usr
:%s+/usr/local+/usr
7、进入 nginx 解压目录
cd /opt/softwares/nginx-1.17.7
8、添加fastdfs-nginx-module
./configure --add-module=/opt/softwares/fastdfs-nginx-module-1.22/src/
9、编译安装
make && make install
10、复制并修改fastdfs-ngin-module中的配置文件
cp /opt/softwares/fastdfs-nginx-module-1.22/src/mod_fastdfs.conf /etc/fdfs/
vim /etc/fdfs/mod_fastdfs.conf
修改配置
connect_timeout=10
tracker_server=192.168.0.179:22122
url_have_group_name = true
store_path0=/fastdfs/storage
11、进入fastdfd源码conf目录
cd /opt/softwares/fastdfs-6.06/conf
12、将http.conf,mime.types两个文件拷贝到/etc/fdfs/目录下
cp http.conf mime.types /etc/fdfs/
13、创建一个软连接,在/fastdfs/storage文件存储目录下创建软连接,将其链接到实际存放数据 的目录
ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00
14、编辑 nginx 配置
vim /usr/local/nginx/conf/nginx.conf
修改配置
server {
listen 80;
server_name 192.168.0.179;
location ~/group([0-9])/M00 {
root /fastdfs/storage/data;
ngx_fastdfs_module;
}
}
15、启动 nginx
/usr/local/nginx/sbin/nginx
测试
1、下载测试图片到本地
wget -c "https://t.ki4.cn/2019/10/zau26v.jpg" -O springboot.jpg
2、上传测试图片
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /opt/softwares/fastdfs-6.06/conf/springboot.jpg
得到返回文件名
group1/M00/00/00/wKgAs17MHPaAa5inAACumtGPxf4201.jpg
与ip拼接:http://192.168.0.179/group1/M00/00/00/wKgAs17MHPaAa5inAACumtGPxf4201.jpg

原文地址:https://developer.aliyun.com/article/745317
=======================================================================================
微信公众号:
![]()
CentOS7 安装FastDFS分布式文件系统的更多相关文章
- CentOS上安装FastDFS分布式文件系统
鱼大自己写的项目简介:http://bbs.chinaunix.net/thread-1920470-1-1.html 架构简介:http://www.programmer.com.cn/4380/ ...
- 使用Docker安装FastDFS(分布式文件系统)
1. 获取镜像 可以利用已有的FastDFS Docker镜像来运行FastDFS. 获取镜像可以通过下载 docker image pull delron/fastdfs 也可是直接使用提前下载的镜 ...
- 使用Webupload上传图片到FastDFS分布式文件系统
使用Webupload插件上传图片到FastDFS分布式文件系统. 前提条件:1.已安装FastDFS分布式文件系统 2.使用webuploader插件上传文件 3.maven工程已引入FastDFS ...
- 记录:CentOS 7 安装配置分布式文件系统 FastDFS 5.1.1
CentOS 7 安装配置分布式文件系统 FastDFS 5.1.1 软件下载:http://download.csdn.net/download/qingchunwuxian1993/9897458 ...
- FastDFS 分布式文件系统的安装与使用(单节点)
FastDFS 分布式文件系统的安装与使用(单节点) 跟踪服务器:192.168.4.121 (edu-dfs-tracker-01) 存储服务器:192.168.4.125 (edu-dfs-sto ...
- Dubbo入门到精通学习笔记(八):ActiveMQ的安装与使用(单节点)、Redis的安装与使用(单节点)、FastDFS分布式文件系统的安装与使用(单节点)
文章目录 ActiveMQ的安装与使用(单节点) 安装(单节点) 使用 目录结构 edu-common-parent edu-demo-mqproducer edu-demo-mqconsumer 测 ...
- FastDFS分布式文件系统
FastDFS分布式文件系统 阅读目录 相关文章 1 分布式文件系统介绍 2 系统架构介绍 3 FastDFS性能方案 4 Linux基本命令操作 5 安装VirtualBox虚拟机并配置Ubuntu ...
- FastDFS 分布式文件系统部署实战及基本使用
FastDFS 分布式文件系统部署实战及基本使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. FastDFS是一个开源的高性能分布式文件系统.它的主要功能包括:文件存储,文件同步 ...
- django中使用FastDFS分布式文件系统接口代码实现文件上传、下载、更新、删除
运维使用docker部署好之后FastDFS分布式文件系统之后,提供给我接口如下: fastdfs tracker 192.168.1.216 192.168.1.217 storage 192.16 ...
随机推荐
- 029 c3p0的小测试
今天被问到这个问题,就实验了一下,后续会继续补充一些配置项的意思. 一:操作步骤 1.大纲 2.新建sql -- ---------------------------- -- Table struc ...
- day 55 jQuery-part2
这里有一个DOM对象转换成jQuery对象的方法,在jQuery对象后面加上索引值0即可得到效果如图所示: $("#btn")[0] 这里我们这里的索引值为0 只是一种写法而已,只 ...
- day25 面向对象继承,多态,
这两天所学的都是面向对象,后面还有几天也是它,面向对象主要有三个大的模块,封装,继承,多态,(组合),昨天主要讲了面向对象的命名空间,还有组合的用法,今天是讲的继承还有继承里面所包括的钻石继承,以及多 ...
- Constructing Roads-最小生成树(kruskal)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1102 题目描述: #include<cstdio> #include<cstring ...
- Newtonsoft.Json日期转换
在使用EasyUI做后台时,使用表格datagrid,用Newtonsoft.Json转换为Json格式后,时间显示为2013-06-15 T00:00:00形式. 后来研究了一下Newtonsoft ...
- Python 面向对象的补充
isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 1 class Foo(object) ...
- Alpha(8/10)
鐵鍋燉腯鱻 项目:小鱼记账 团队成员 项目燃尽图 冲刺情况描述 站立式会议照片 各成员情况 团队成员 学号 姓名 git地址 博客地址 031602240 许郁杨 (组长) https://githu ...
- puppeteer 安装失败的解决方案
你应该也是在玩puppeteer,所以才会来到这里寻找答案,开始正文…… 安装时遇到 ERROR: Failed to download Chromium r515411! Set "PUP ...
- logging模块、sys模块、shelve模块
一.logging模块 1.logging模块就是用于记录日志的,日志就是记录某个时间点,发生的事情. 2.记录日志是为了日后来复查,提取有用的信息. 3.如何去记录日志:可以直接打开文件,记录信息, ...
- inner join 内联与left join 左联
今天老板把我叫过去,给我分析了一下我写的存储过程[捂脸羞愧中...],因为又临时加了个需求需要关联另外一个视图,我写成了内联,所以读取出来的数据少了好多. select t1.MOTCARRIERNA ...