FastDfs 部署 保姆 级 步骤

注: 1.这是在 b栈后端项目中用到    ,  github  or  课程官方文档     ,都难免遇到问题

2.我这里只是将单机部署  跑通了

why fastdfs?

        FastDFS(Fast Distributed File System)是一个开源的分布式文件系统,专门用于存储大容量的文件

        它主要用于解决互联网应用中的大文件存储和访问问题,例如图片、音、视频等大文件的存储和分发。


FastDFS  Feature:

1.分布式存储:FastDFS 将文件切分成小块,然后分布式存储在多个服务器上,每个文件的不同部分可以存储在不同的服务器节点上,从而实现数据的分布式存储和负载均衡


2.高性能:FastDFS 使用了高效的文件上传、下载和存储算法,以及基于内存的索引和缓存机制,能够提供高性能的文件存储和访问服务


3.扩展性:FastDFS 的架构设计具有良好的扩展性,可以根据实际需求方便地扩展存储容量和吞吐量,以适应不断增长的数据存储需求


4.高可靠性:FastDFS 使用多副本机制来保证文件的可靠性和数据的安全性。当某个节点发生故障时,系统能够自动切换到其他副本节点进行服务,保证系统的持续可用性。


5.简单易用:FastDFS 提供了简单易用的 API 和命令行工具方便开发人员进行文件的上传、下载和管理操作。同时,它还提供了丰富的文档和社区支持,使得开发和运维工作更加便捷。


6.开源免费:FastDFS 是一个开源项目,采用 GPL 协议发布,用户可以免费获取源代码并自由使用、修改和分发。

FastDFS 通常与其他服务一起使用,例如 Nginx、Apache 等作为前端服务器,通过 CDN 等内容分发网络进行加速,以满足互联网应用中对大文件存储和访问的需求。

安装部署  步骤

1.关闭防火墙

[root@hecs-234257 nginx-1.15.4]# systemctl restart firewalld.service

2.需要Centos7,我用8卡了一下午

2.安装FastDFS相关软件包

rpm -ivh http://www.fastken.com/yumrepo/el7/noarch/FastOSrepo-1.0.0-1.el7.centos.noarch.rpm

yum install fastdfs-server fastdfs-tool fastdfs-config -y

3.安装编译环境

yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y

4.创建相关目录

mkdir /home/dfs #创建数据存储目录
cd /usr/local/src #切换到安装目录准备下载安装包

5.安装libfastcommon

git clone https://github.com/happyfish100/libfastcommon.git --depth 1cd libfastcommon/./make.sh && ./make.sh install #编译安装cd ../ 

6.安装libserverframe

git clone https://github.com/happyfish100/libserverframe.git --depth 1cd libserverframe/./make.sh && ./make.sh install #编译安装cd ../ #返回上一级目录

7.安装FastDFS

git clone https://github.com/happyfish100/fastdfs.git --depth 1cd fastdfs/./make.sh && ./make.sh install #编译安装#配置文件准备
cp /usr/local/src/fastdfs/conf/http.conf /etc/fdfs/ #供nginx访问使用cp /usr/local/src/fastdfs/conf/mime.types /etc/fdfs/ #供nginx访问使用cd ../ #返回上一级目录

8.安装fastdfs-nginx-module

git clone https://github.com/happyfish100/fastdfs-nginx-module.git --depth 1cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs

9.安装nginx

wget http://nginx.org/download/nginx-1.15.4.tar.gz tar -zxvf nginx-1.15.4.tar.gz cd nginx-1.15.4/#添加fastdfs-nginx-module模块
./configure --add-module=/usr/local/src/fastdfs-nginx-module/src/ make && make install #编译安装

10.tracker配置

#服务器ip为 192.168.52.1
#我建议用ftp下载下来这些文件 本地修改
vim /etc/fdfs/tracker.conf#需要修改的内容如下
port=22122  # tracker服务器端口(默认22122,一般不修改)
base_path=/home/dfs  # 存储日志和数据的根目录

  #启动tracker:

  fdfs_trackerd /etc/fdfs/tracker.conf

11.storage配置

vim /etc/fdfs/storage.conf#需要修改的内容如下
port=23000  # storage服务端口(默认23000,一般不修改)
base_path=/home/dfs  # 数据和日志文件存储根目录
store_path0=/home/dfs  # 第一个存储目录
tracker_server=192.168.52.1:22122  # tracker服务器IP和端口
http.server_port=8888  # http访问文件的端口(默认8888,看情况修改,和nginx中保持一致)

  #启动storage:

  fdfs_storaged /etc/fdfs/storage.conf

12.client测试

vim /etc/fdfs/client.conf#需要修改的内容如下
base_path=/home/dfs
tracker_server=192.168.52.1:22122    #tracker服务器IP和端口
#保存后测试,返回ID表示成功 如:group1/M00/00/00/xx.tar.gz
fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/nginx-1.15.4.tar.gz

13.配置nginx,并测试访问

vim /etc/fdfs/mod_fastdfs.conf
#需要修改的内容如下
tracker_server=192.168.52.1:22122  #tracker服务器IP和端口
url_have_group_name=true
store_path0=/home/dfs#配置nginx.config
vim /usr/local/nginx/conf/nginx.conf
#添加如下配置
server {listen       8888;    ## 该端口为storage.conf中的http.server_port相同server_name  localhost;location ~/group[0-9]/ {ngx_fastdfs_module;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}
}#启动nginx,使用命令:
/usr/local/nginx/sbin/nginx#测试下载,用外部浏览器访问刚才已传过的nginx安装包,引用返回的ID
http://192.168.52.1:8888/group1/M00/00/00/wKgAQ1pysxmAaqhAAA76tz-dVgg.tar.gz#弹出下载单机部署全部跑通

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

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

相关文章

js创建对象方式总结

js创建对象方式总结 字面量方式 使用大括号 {} 创建一个新对象,这是最简单直接的方式。适用于创建单个对象,可以直接在大括号内定义属性和方法。 let person {name: John,age: 30,gender: male};let preson2 {name: John,age: 30,gender: male};cons…

高级优化理论与方法(一)

高级优化理论与方法(一) 前言基本概念优化的概念定义优化的写法邻域局部最优Terms(术语):可行方向定义内部点极限点边界 导数一阶导二阶导例子 方向导数例子 Unconstrained Optimization(无约束优化)FONC证…

光伏发电预测

XGB、LGB在datacamp(学习网站) data fountain与国家电投系列赛,光伏发电预测 题目:给一组特征,预测瞬时发电量,训练集9000个点,测试集8000个点,特征包含光伏板的属性和外部环境等。 数据字段:ID、光伏电池板背侧温度、光伏电站现场温度、计算得到的平均转换效率、数…

C++的成员初始化列表

C的成员构造函数初始化列表:构造函数中初始化类成员的一种方式,当我们编写一个类并向该类添加成员时,通常需要某种方式对这些成员变量进行初始化。 建议应该在所有地方使用成员初始化列表进行初始化 成员初始化的方法 方法一: …

MySQL学习Day25——数据库其他调优策略

一、数据库调优的措施: 1.调优的目标: (1)尽可能节省系统资源,以便系统可以提供更大负荷的服务 (2)合理的结构设计和参数调整,以提高用户操作的响应速度 (3)减少系统的瓶颈,提高MySQL数据库整体的性能; 2.如何定位调优:用户的反馈、日志…

【JavaWeb】Jwt令牌简单使用及代码示例

Jwt令牌介绍 Jwt令牌主要用于登录操作中,常用来进行身份认证 jwt令牌分为三个部分(不同部分之间用点分割): 由base64编码的头部信息,其中储存着Jwt所使用的摘要算法由base64编码的中间部分用户自定义信息&#xff0c…

stm32f103zet6笔记1-led工程

1、选择串口调试 2、LED0连接到PB5,PB5设置为推挽输出。PE5同理。 3、生成成对的.c,.h文件。 4、debugger选择j-link。 5、connection选择SWD。 6、编写bsp_led.c,bsp_led.h文件。 7、下载调试,可以看到LED0 500ms闪烁一次,LED1 1000ms闪烁一…

浅谈一个CTF中xss小案例

一、案例代码 二、解释 X-XSS-Protection: 0:关闭XSS防护 之后get传参,替换过滤为空,通过过滤保护输出到img src里面 三、正常去做无法通过 因为这道题出的不严谨所以反引号也是可以绕过的 正常考察我们的点不在这里,正常考察…

Java编程之方法的重写1

继承并不只是扩展父类的功能,还可以重写父类的成员方法。重写(还可以称为覆盖)就是在子类中将父类的成员方法名称保留,重新编写父类成员方法的实现内容,更改成员方法的存储权限,或是修改成员方法的返回值类…

Unity之街机捕鱼

目录 😪炮台系统 🎶炮口方向跟随鼠标 🎶切换炮台 😪战斗系统 🎮概述 🎮单例模式 🎮开炮 🎮子弹脚本 🎮渔网脚本 🎮鱼属性信息的脚本 &#x1f6…

华为OD机试真题-求幸存数之和【题解分享】

原题内容 给一个正整数列nums,一个跳数jump,及幸存数量left。运算过程为:从索引为0的位置开始向后跳,中间跳过 J 个数字,命中索引为 J1 的数字,该数被敲出,并从该点起跳,以此类推,直…

叠罗汉游戏

题目描述 农场的N头奶牛喜欢玩叠罗汉游戏,就是几头奶牛1头奶牛接着1头奶牛的站成一柱子形状。不过奶牛的力量不一样,用数值Ci表示第i头奶牛它的上面最多可以站多少头奶牛,问这些奶牛最少可以站成几个柱子形状。 输入格式 输入文件名&#…

怎样获得CNVD原创漏洞证书

1. 前言 因为工作变动,我最近把这一年多的工作挖漏洞的一些工作成果提交到了CNVD漏洞平台(https://www.cnvd.org.cn/),获得了多张CNVD原创漏洞证书。本篇博客讲下怎么获得CNVD原创漏洞证书,以供大家参考。 2. CNVD原创…

Canvas笔记03:Canvas元素功能、属性、获取、原理等一文讲透

hello,我是贝格前端工场,最近在学习canvas,分享一些canvas的一些知识点笔记,本期分享canvas元素的知识,欢迎老铁们一同学习,欢迎关注,如有前端项目可以私信贝格。 Canvas元素是HTML5中的一个重…

基于Intel x86的轨道交通/印度地铁自动售检票(AFC)系统

印度孟买地铁3号线 目前,印度孟买3号线正在全面建设中,这条全长33.5公里的线路将是孟买第一条地下地铁线路,设有27个地下车站和1个地面车站,此条线路的成功通车将连接其他地铁线路、单轨铁路、郊区铁路、城际铁路和孟买机场等&am…

解决prettier 报错 Delete `␍`

根目录(么有的话)新建 .prettierrc.js配置文件 module.exports {tabWidth: 2,semi: true,printWith: 80,singleQuote: true,quoteProps: consistent,htmlWhitespaceSensitivity: strict,vueIndentScriptAndStyle: true,// 主要是最后一行endOfLine:aut…

Ubuntu环境使用docker构建并运行SpringBoot镜像

今天Ubuntu环境使用docker构建并运行SpringBoot镜像,看文章之前建议先查看安装流程: Linux环境之Ubuntu安装Docker流程 一、镜像打包过程及执行 1、创建一个测试目录 mkdir javaDemo 2、springBoot的包复制到此目录下 cp demo1-0.0.1-SNAPSHOT.jar /data/app/…

计算机网络实验 基于ENSP的协议分析

实验二 基于eNSP的协议分析 一、实验目的: 1)熟悉VRP的基本操作命令 2)掌握ARP协议的基本工作原理 3)掌握IP协议的基本工作原理 4)掌握ICMP协议的基本工作原理 二、实验内容: 1、场景1:两台PC机…

React-子传父

1.概念 说明&#xff1a;React中子组件向父组件传递数据通常涉及回调函数和状态提升等方法。 2.代码实现 2.1绑定事件 说明&#xff1a;父组件绑定自定义事件 <Son onGetSonMsg{getMsg}></Son> 2.2接受事件 说明&#xff1a;子组件接受父组件的自定义事件名称…

前端食堂技术周刊第 114 期:Interop 2024、TS 5.4 RC、2 月登陆浏览器的新功能、JSR、AI SDK 3.0

美味值&#xff1a;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f; 口味&#xff1a;凉拌鸡架 食堂技术周刊仓库地址&#xff1a;https://github.com/Geekhyt/weekly 大家好&#xff0c;我是童欧巴。欢迎来到前端食堂技术周刊&#xff0c;我们先来看下…