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分布式文件系统的更多相关文章

  1. CentOS上安装FastDFS分布式文件系统

    鱼大自己写的项目简介:http://bbs.chinaunix.net/thread-1920470-1-1.html 架构简介:http://www.programmer.com.cn/4380/ ...

  2. 使用Docker安装FastDFS(分布式文件系统)

    1. 获取镜像 可以利用已有的FastDFS Docker镜像来运行FastDFS. 获取镜像可以通过下载 docker image pull delron/fastdfs 也可是直接使用提前下载的镜 ...

  3. 使用Webupload上传图片到FastDFS分布式文件系统

    使用Webupload插件上传图片到FastDFS分布式文件系统. 前提条件:1.已安装FastDFS分布式文件系统 2.使用webuploader插件上传文件 3.maven工程已引入FastDFS ...

  4. 记录:CentOS 7 安装配置分布式文件系统 FastDFS 5.1.1

    CentOS 7 安装配置分布式文件系统 FastDFS 5.1.1 软件下载:http://download.csdn.net/download/qingchunwuxian1993/9897458 ...

  5. FastDFS 分布式文件系统的安装与使用(单节点)

    FastDFS 分布式文件系统的安装与使用(单节点) 跟踪服务器:192.168.4.121 (edu-dfs-tracker-01) 存储服务器:192.168.4.125 (edu-dfs-sto ...

  6. Dubbo入门到精通学习笔记(八):ActiveMQ的安装与使用(单节点)、Redis的安装与使用(单节点)、FastDFS分布式文件系统的安装与使用(单节点)

    文章目录 ActiveMQ的安装与使用(单节点) 安装(单节点) 使用 目录结构 edu-common-parent edu-demo-mqproducer edu-demo-mqconsumer 测 ...

  7. FastDFS分布式文件系统

    FastDFS分布式文件系统 阅读目录 相关文章 1 分布式文件系统介绍 2 系统架构介绍 3 FastDFS性能方案 4 Linux基本命令操作 5 安装VirtualBox虚拟机并配置Ubuntu ...

  8. FastDFS 分布式文件系统部署实战及基本使用

    FastDFS 分布式文件系统部署实战及基本使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. FastDFS是一个开源的高性能分布式文件系统.它的主要功能包括:文件存储,文件同步 ...

  9. django中使用FastDFS分布式文件系统接口代码实现文件上传、下载、更新、删除

    运维使用docker部署好之后FastDFS分布式文件系统之后,提供给我接口如下: fastdfs tracker 192.168.1.216 192.168.1.217 storage 192.16 ...

随机推荐

  1. 029 c3p0的小测试

    今天被问到这个问题,就实验了一下,后续会继续补充一些配置项的意思. 一:操作步骤 1.大纲 2.新建sql -- ---------------------------- -- Table struc ...

  2. day 55 jQuery-part2

    这里有一个DOM对象转换成jQuery对象的方法,在jQuery对象后面加上索引值0即可得到效果如图所示: $("#btn")[0] 这里我们这里的索引值为0 只是一种写法而已,只 ...

  3. day25 面向对象继承,多态,

    这两天所学的都是面向对象,后面还有几天也是它,面向对象主要有三个大的模块,封装,继承,多态,(组合),昨天主要讲了面向对象的命名空间,还有组合的用法,今天是讲的继承还有继承里面所包括的钻石继承,以及多 ...

  4. Constructing Roads-最小生成树(kruskal)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1102 题目描述: #include<cstdio> #include<cstring ...

  5. Newtonsoft.Json日期转换

    在使用EasyUI做后台时,使用表格datagrid,用Newtonsoft.Json转换为Json格式后,时间显示为2013-06-15 T00:00:00形式. 后来研究了一下Newtonsoft ...

  6. Python 面向对象的补充

    isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 1 class Foo(object) ...

  7. Alpha(8/10)

    鐵鍋燉腯鱻 项目:小鱼记账 团队成员 项目燃尽图 冲刺情况描述 站立式会议照片 各成员情况 团队成员 学号 姓名 git地址 博客地址 031602240 许郁杨 (组长) https://githu ...

  8. puppeteer 安装失败的解决方案

    你应该也是在玩puppeteer,所以才会来到这里寻找答案,开始正文…… 安装时遇到 ERROR: Failed to download Chromium r515411! Set "PUP ...

  9. logging模块、sys模块、shelve模块

    一.logging模块 1.logging模块就是用于记录日志的,日志就是记录某个时间点,发生的事情. 2.记录日志是为了日后来复查,提取有用的信息. 3.如何去记录日志:可以直接打开文件,记录信息, ...

  10. inner join 内联与left join 左联

    今天老板把我叫过去,给我分析了一下我写的存储过程[捂脸羞愧中...],因为又临时加了个需求需要关联另外一个视图,我写成了内联,所以读取出来的数据少了好多. select t1.MOTCARRIERNA ...