保姆级fastDFS安装教程

news2024/11/24 17:23:18

一、软件准备

环境需要准备四个包,分别是:

1. libfastcommon_1.0.36

2. FastdfsFastdfs_v5.11

3. fastdfs-nginx-module5.11

4. nginxnginx-1.12.2

二、环境准备

安装perl环境,后续编译fastdfs会用到

yum -y install perl*
yum -y install cpan

安装gcc编译器,fastdfs是用c语言开发而来的。

yum -y install gcc-c++

在安装Nginx之前需要先安装一些模块依赖的lib库:pcre-devel、zlib-devel、openssl-devel

如果不需要安装Nginx,这几个库可以不安装。

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

解压压缩包

#在/usr/local下创建文件夹
mkdir fastdfs
 
 
#解压上传的四个文件到上面的文件夹中
tar -zxvf libfastcommon-1.0.36.tar.gz -C /usr/local/fastdfs/
tar -zxvf fastdfs-5.11.tar.gz -C /usr/local/fastdfs/
tar -zxvf nginx-1.12.2.tar.gz -C /usr/local/fastdfs/
tar -zxvf fastdfs-nginx-module-1.20.tar.gz -C /usr/local/fastdfs/

三、安装libfastcommon


#进入libfastcommon目录
cd libfastcommon-1.0.36/
#编译安装
./make.sh
./make.sh install

出现上图,表明libfastcommon安装成功。

四、安装Fastdfs

#同理,进入fastdfs-5.11
cd fastdfs-5.11/
#编译
./make.sh
./make.sh install

编译成功,会生成一下四个配置文件:

进行拷贝重命名,以备用,执行命令如下:

cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp storage_ids.conf.sample storage_ids.conf
cp tracker.conf.sample tracker.conf

执行结果如下:

再讲conf文件夹下的http.conf 和 mime.types文件拷贝到/etc/fdfs/目录中,执行命令如下:

cp http.conf /etc/fdfs/
cp mime.types /etc/fdfs/

到这,fastdfs安装就成功了。下面就是对一下配置文件的配置了。

4.1 配置Tracker

创建文件夹:即用于存储tracker的数据 文件和日志文件等。此路径在后续的tracker文件配置中都用到。

mkdir /opt/fastdfs_tracker

修改/etc/fdfs目录下的tracker.conf配置文件,打开文件后依次做如下修改:修改成刚创建的路径

配置完毕后,启动tracker服务器

#启动
service fdfs_trackerd start

启动完成后,可以在刚创建的文件夹中(/opt/fastdfs_tracker)找到两个新文件,如下图所示:
 

4.2 配置Storage

配置storage和配置tracker流程一致。

创建storage服务器的文件目录fastdfs_storage,同时比tracker多创建一个文件存储路径,目录为:fastdfs_storage_data,用来存放接收的文件。

mkdir /opt/fastdfs_storage
mkdir /opt/fastdfs_storage_data

同理,修改storage的配置文件。目录/etc/fdfs/storage.conf的文件。

cd /etc/fdfs/
vim storage.conf

这个配置文件需要修改三个位置,分别如下图:

第一个位置:

第二个位置:

第三个位置:

这三个位置配置完后,需要开启storage。

这里需要注意:开启storage时,必须先开启tracker。

因为上面我们已经开启了tracker,所以现在开启storage即可。

service fdfs_storaged start

执行后,会有如下提示:

证明启动成功了。

此时,可以再创建的/opt/fastdfs_storage_data/目录下,看到data文件夹。如下图所示:

到这了,storage的配置就完成了。

查看一下这tracker和storage两个服务的状态,用下面的命令查看:

netstat -unltp |grep fdfs

执行结果:

可以看到,两个端口已经成功监听了。

tracker:22122

storage:23000

确认storage服务器启动成功后,还有一项工作就是看看storage服务器是否已经登记到tracker服务器(也可以理解为tracker与storage是否整合成功),运行以下命令:

/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

执行结果如下图:

到这里,storage服务器真正配置完成。

4.3 配置客户端client

同理,编辑/etc/fdfs/client.conf文件,用如下命令:

cd /etc/fdfs/
vim client.conf

修改两个位置即可,见下图:

配置成功后,可以做个简单的测试验证。

首先,创建一个文件,并编写内容。

#里面随便写点数
vim t.txt

其次,执行客户端上传命令:

/usr/bin/fdfs_upload_file /etc/fdfs/client.conf t.txt

执行后,会出现下图,证明上传成功:

返回的路径就只文件的存储目录,在/opt/fastdfs_storage_data目录下

到这里,测试就成功了。

如果想在浏览器里面查看存储的文件,就需要执行第五、第六的章节了。

安装Nginx和fastdfs-nginx-module。如果不需要再浏览器中查看,可以忽略下面的内容。

五、安装fastdfs-nginx-module

进入fastdfs-nginx-module/src中,将mod_fastdfs.conf文件复制到/etc/fdfs/目录下

cp mod_fastdfs.conf /etc/fdfs/
 
#并且修改mod_fastdfs.conf的内容
 
vim /etc/fdfs/mod_fastdfs.conf

这个配置文件需要修改三个位置。

第一个位置:

第二个位置:

第三个位置:

修改fastdfs-nginx-module-1.20/src/config文件,修改如下:(为了解决后面Nginx编译失败)

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

到这,插件配置完毕。

六、安装Nginx

进入Nginx的目录

cd /usr/local/fastDfs/nginx-1.12.2/

对Nginx重新config(就是把上面的nginx插件加入到Nginx中)

先查询插件的解压路径(我的在/usr/local/fastDfs/fastdfs-nginx-module-1.20/src)

查询后填写在module=后面

进入到nginx文件夹中,执行此命令

./configure --add-module=/usr/local/fastDfs/fastdfs-nginx-module-1.20/src

插件安装成功后在进行进行编译安装

make
make install

安装完成后再指定路径/usr/local/nginx可查看到安装的目录

进入到安装目录后,再进入conf

编辑nginx.conf

增加以下内容


#location放在server里面
location ~/group1/M00 {
      root /opt/fastdfs_storage_data/data;
      ngx_fastdfs_module;
}

再进入sbin启动Nginx

cd ..
cd sbin/
./nginx

启动成功后查看进程

ps -aux | grep nginx

在输入服务器的公网IP,可以看见nginx的页面。

我们再来测试刚刚上传的txt

ip后再加上这一串,就可以在浏览器上访问了

至此,全部完成

成功后,可以将tracker服务和Storage设置为开机启动

打开/etc/rc.d/目录,在rc.local中添加service fdfs_trackerd start和service fdfs_storaged start

并且对rc.local进行授权。

授权

chmod +x /etc/rc.d/rc.local

到此,全部安装成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1214196.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL数据库清理Relay_Log_File日志

背景 “Relay_Log_File” 是 MySQL 中用于复制的参数之一。在 MySQL 复制中,当一个服务器作为主服务器(master)时,它会将其更改写入二进制日志文件(binary log file)。而另一个服务器作为从服务器&#xf…

springboot--单元测试

单元测试 前言1、写测试要用的类2、写测试要用的类3、运行测试类4、spring-boot-starter-test默认提供了以下库4.1 junit54.1.1 DisplayName:为测试类或者测试方法设置展示名称4.1.2 BeforeAll:所有测试方法运行之前先运行这个4.1.3 BeforeEach:每个测试…

Vue3问题:如何实现拼图验证+邮箱登录功能?前后端!

前端功能问题系列文章,点击上方合集↑ 序言 大家好,我是大澈! 本文约3500字,整篇阅读大约需要5分钟。 本文主要内容分三部分,第一部分是需求分析,第二部分是实现步骤,第三部分是问题详解。 …

给女朋友开发个小程序低价点外卖吃还能赚钱

前言 今天又是无聊的一天,逛了下GitHub,发现一个库里面介绍美团饿了吗外卖红包外卖优惠券,先领红包再下单。外卖红包优惠券,cps分成,别人领红包下单,你拿佣金。哇靠,那我岂不是可以省钱还可以赚钱,yyds。。。。想想都美好哈哈哈!!! 回到正题,这个是美团饿了么分销…

esp-01刷固件/下载软件到内部单片机的方法

此文章为转载,非原创 一、准备 需要准备三个东西: 1.esp模块。ESP-01 和 ESP-01s 的引脚及 flash 容量基本完全兼容,只是内部硬件设计粗糙与否的区别,所以理论上都适用。 2.官方固件。此部分可以从安信可官方教程中下载&#xff0…

python之使用深度学习创建自己的表情符号

目录 部署项目1、首先运行train.py训练模型2、接下运行gui.py测试 一、使用 CNN 进行面部情绪识别二、GUI 代码和表情符号映射 在这个深度学习项目中,我们将对人类面部表情进行分类,以过滤和映射相应的表情符号或头像。 数据集(面部表情识别&…

提效神器!10%标注数据,比肩全量标注的模型效果!

不知道大家有没有遇到过数据标注成本高、周期长的困扰,有没有那么一种可能,精心标注少量的数据,配合大量的无标注数据,就能达到比肩全量标注的模型精度呢?是的,PaddleX就带来了这样一款提效神器——大模型半…

超级干货!如何挖公益SRC实战/SQL注入

目录 一、信息收集 二、实战演示 三、使用sqlmap进行验证 四、总结 一、信息收集 1.查找带有ID传参的网站(可以查找sql注入漏洞) inurl:asp idxx 2.查找网站后台(多数有登陆框,可以查找弱口令,暴力破解等漏洞&…

第一百七十四回 如何创建扇形渐变背景

文章目录 1. 概念介绍2. 实现方法3. 代码与效果3.1 示例代码3.2 运行效果 4. 内容总结 我们在 上一章回中介绍了"如何创建线性渐变背景"相关的内容,本章回中将介绍" 如何创建扇形渐变背景"。闲话休提,让我们一起Talk Flutter吧。 …

打开GeoTIFF文件失败:Unknown field with tag

用QGIS输出的数据类型为UInt16的TIFF文件,无法在GIMP中打开。 GIMP消息提示: 调查 用ImageMagick打开TIFF文件,虽然会出现警告,但是最终还是打开了: 在ImageMagick中重新保存后,就可以用GIMP打开了。使用…

Mapstruct 搭配MP分页食用 - 参考自ballcat项目

参考自 ballcat 一键抵达: Gitee GitHub 场景 使用MyBatis Plus的selectPage方法进行分页查询之后,如果需要将Entity对象转换为Vo对象,需要从Page对象中取出集合列表,手动转换成Vo集合列表数据重新放进Page对象中。 取出集合 设置…

使用postman测试

第一步: 第二步: 第三步:添加请求 第四步:填写请求 代码实现自动关联的位置: 为相关联的接口设置环境: 使用设置的环境变量: 参数化实现测试:测试脚本中仅测试数据不一样&#xff…

[答疑]改善系统的性能,用得着业务建模吗

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 第五元素 2023-10-27 22:02 潘老师,请教一个实践中遇到的问题: 假设生产人员使用某个工具处理数据,需要10天时间;现在改进了这个工具…

Java排序算法之堆排序

图解 堆排序是一种常见的排序算法,它借助了堆这种数据结构。堆是一种完全二叉树,它可以分为两种类型:最大堆和最小堆。在最大堆中,每个结点的值都大于等于它的子结点的值,而在最小堆中,每个结点的值都小于等…

SpringSecurity6从入门到上天系列第六篇:解决这个问题为什么在引入SpringSecurity之后所有的请求都需要先做登录认证才可以进行访问呢

文章目录 问题引入 1:问题阐述 2:问题分析 一:从SpringBoot的自动装配 1:SpringBootApplication介绍 2:自动装配的核心方法 3:核心方法的调用路径 4:SpringSecurity核心配置 5&#xf…

PMP备考短期极限上岸攻略!

作为一位通过PMP考试成功上岸的3A人士,下面的文章包含了所有PMP考试的实用知识,是一本适合初学者的PMP备考攻略手册。如果你有意向了解或者报考PMP考试,这篇文章肯定会对你有很大的帮助! 对于新手第一个需要知道的就是PMP是什么&…

【python】—— 控制语句和组合数据类型(其一)

🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL&#xff1a…

Flume(一)【Flume 概述】

前言 今天实在不知道学点什么好了,早上学了3个多小时的 Flink ,整天只学一门技术是很容易丧失兴趣的。那就学点新的东西 Flume,虽然 Kafka 还没学完,但是大数据生态圈的基础组件也基本就剩这倆了。 Flume 概述 生产环境中的数据一…

Sql Prompt 10下载安装图文教程

在操作过程中,请暂时关闭你的防病毒软件,以免其误报导致操作失败。 资源 SQL Prompt 10 https://www.aliyundrive.com/s/QuMWkvE1Sv6 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看&…

20 - 欲知JVM调优先了解JVM内存模型

从今天开始,我将和你一起探讨 Java 虚拟机(JVM)的性能调优。JVM 算是面试中的高频问题了,通常情况下总会有人问到:请你讲解下 JVM 的内存模型,JVM 的性能调优做过吗? 1、为什么 JVM 在 Java 中…