linux上安装fastdfs及配置

一、基础环境准备

1、所需软件

在这里插入图片描述

名称说明
libfastcommonfastdfs分离出的一些公用函数包
fastdfsfastdas软件包
fastdfs-nginx-modulefastdfst和nginx的关联模块
nginxnginxl软件包

2、编辑环境

安装一些基础的支持环境

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

如果不安装上面的基础环境 则后面安装时可能会出现相关命令找不见,如下
在这里插入图片描述
如果服务器无法访问外部网络,则只能通过离线包方式安装相关基础环境了。相关软件包已为大家准备妥当,敬请取用:
fastdfs相关离线软件包

2.1gcc安装

GCC为C语言编译器,由于fastdfs相关源码都是c语主编写的,所以环境上必须安装gcc
进入上传到服务器的gcc目录 执行以下命令 进行安装

rpm -Uvh *.rpm --nodeps --force
2.2 pcre安装

PCRE 作用是让 Nginx 支持 Rewrite 功能
安装命令如下

# 解压
tar -xzvf pcre-8.35.tar.gz
cd pcre-8.35/
./configure
make 
make install
2.3 安装openssl
tar -xzvf openssl-1.1.1h.tar.gz 
cd  openssl-1.1.1h
./config
make
make install
2.4 安装zlib
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11/
./configure
make
make install

3、磁盘目录

说明位置
所有安装包的位置/data/fastdfs-soft 将所准备的软件包上传至该目录
数据存储位置/data/fastdfs

4、相关fastdfs软件安装

对于服务器如果服务器有外网,可以使用git拉取源码下来进行编绎安装。如果没有外网环境,则可以通过拷贝软件包至服务器,然后解压后进行编辑安装

4.1 安装libfastcommon

方式一:通过git从网上拉取源码

git clone https://github.com/happyfish100/libfastcommon.git --depth 1

方式二:通过有网环境下载软件包 然后拷贝至服务器,解压 (我这里是通过这种方式上传的,zip包 使用unzip libfastcommon-1.0.43.zip 命令进行解压)
无论是第一种方式 还是第二种方式 获取到的都是源码软件包,当一切都准备好后,进入到libfastcommon目录下 执行下以命令进行编绎及安装

# 我这里是自己上传的包  是有版本号的 大家安装时 请根据自己的实际情况做路径调整
cd libfastcommon-1.0.43
./make.sh && ./make.sh install
4.2 安装fastdfs

同样安装fastdfs也可以通过git方式获取源码

git clone https://github.com/happyfish100/fastdfs.git --depth 1

也可以拷贝已下载的源码至服务器(我采用的就是拷贝的方式),然后进入到fastdfs目录 进行编绎安装

# 我这里是自己上传的包  是有版本号的 大家安装时 请根据自己的实际情况做路径调整cd fastdfs-6.06./make.sh && ./make.sh install

为了供nginx访问使用 还需要将http.conf 和mime.types文件拷贝至etc/fdfs目录下

# 我这里是自己上传的包  是有版本号的 大家做配置时 请根据自己的实际情况做路径调整
# 其实也可以同步/data/fastdfs-soft/fastdfs-6.06/conf目录下所有内容 到/etc/fdfs下,
# 否则后面则需手动cp 相应文件的sample 为配置文件 (即例 cp storage.conf.sample storage.conf)
cp /data/fastdfs-soft/fastdfs-6.06/conf/http.conf /etc/fdfs/
cp /data/fastdfs-soft/fastdfs-6.06/conf/mime.types /etc/fdfs/
4.3 fastdfs–nginx-module安装

源码获取同样可以通过git 或者拷贝上传方式
git方式

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

获取源码后 将其中的mod_fastdfs.conf 配置拷贝至/etc/fdfs目录下

# 我这里是自己上传的包  是有版本号的 大家做配置时 请根据自己的实际情况做路径调整 
cp /data/fastdfs-soft/fastdfs-nginx-module-1.22/src/mod_fastdfs.conf  /etc/fdfs
4.4 nginx安装

nginx安装包获取 可以通过wget在线下载,也可以自己手动拷贝至服务器
wget方式

wget http://nginx.org/download/nginx-1.18.0.tar.gz

软件包获取到后进行解压 安装

#解压
tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
#添加上fastdfs-nginx-module模块的配置 (注意=号后面的路径 就是上一步4.3中的fastdfs-nginx-module的路径)
./configure --add-module=/data/fastdfs-soft/fastdfs-nginx-module-1.22/src/
# 编绎安装
make && make install

5、fastdfs相关部署 单机模式

5.1 域名配置 (非必须 可省略)

在 /etc/hosts 中配置i添加 例

127.0.0.1 fastdfs.com
5.2 tracker配置
# 创建目录
mkdir -p /data/fastdfs

修改tracker.conf配置

# 如果tracker.conf 文件不存在,则看看是否有tracker.conf.sample,如果有 则cp tracker.conf.sample tracker.conf一份。如果tracker.conf.sample也没有 则可以去到前面fastdfs软件目录中conf目下复制一份到/etc/fdfs目录下
vim /etc/fdfs/tracker.conf# 修改以下内容
# tracker服务器端口(默认22122 一般不用修改)
port=22122
# 存储日志和数据的根目录
base_path=/data/fastdfs 

永久关闭防火墙

systemctl disable firewalld.service

启动tracker服务

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

查看是否启动成功 通过下面的命令查看进程是否正常运行

ps -ef | grep tracker
5.3 storage配置

修改storage.conf配置

# 如果storage.conf 文件不存在,则看看是否有storage.conf.sample,如果有 则cp storage.conf.sample storage.conf一份。如果storage.conf.sample也没有 则可以去到前面fastdfs软件目录中conf目下复制一份到/etc/fdfs目录下
vim /etc/fdfs/storage.conf# 修改以下内容
# storage服务器端口(默认23000 一般不用修改)
port=23000
# 存储日志和数据的根目录
base_path=/data/fastdfs 
# storage虚拟磁盘路径,如果配了store_path0则对应的是M00,如果配置了store_path1 则是M01 以此类推
store_path0=/data/fastdfs
# tracker 服务器IP和端口 (可以是ip 也可以是域名) (如果配置的是外网ip或外网域名 则记得一定要在安全组放行)
tracker_server=fastdfs.com:22122
# http访问文件的端口(默认8888,看情况修改,和nginx中保持一致)
http.server_port=80

启动storage

 /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
5.4 client客户端测试

修改client.conf配置

vim /etc/fdfs/client.conf#需要如下这些内容
bast_path=/data/fastdfs
# tracker服务器ip和端口  (如果配置的是外网ip或外网域名 则记得一定要在安全组放行)
tracker_server=fastdfs.com:22122

测试文件上传 上传后返回ID则表示上传成功 如:group1/M00/00/00/eSgtrGXp7K2ANDgsAAAADK8IOy0497.txt
然后我们也可以去数据目录下查看上传的文件,验证是否落盘成功

# 随便进一个目录 例
cd /data
# 创建一个测试文件
touch a.txt
echo 'hello world' > a.txt
#上传文件 /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /data/a.txt
# 删除文件/usr/bin/fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/eSgtrGXp7K2ANDgsAAAADK8IOy0497.txt

6、配置nginx访问

配置mod_fastdfs.conf

vim /etc/fdfs/mod_fastdfs.conf
#需修改的内容如下
# tracker服务器ip和端口
tracker_server=fastdfs.com:22122
url_have_group_name= true
store_path0=/data/fastdfs

配置nginx.conf

vim /usr/local/nginx/conf/nginx.conf
#添加如下配置 或者修改为以下配置
server {listen       80;  ## 该端口要和storage.conf中的http.server_port相同server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;location ~/group[0-9]/ {ngx_fastdfs_module;}
}

然后启动nginx

/usr/local/nginx/sbin/nginx

通过服务ip:端口/文件的key 即可访问文件了

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

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

相关文章

线性代数(一)——向量基础

向量基础 1、向量和线性组合2、向量的模和点乘3、矩阵4、参考 线性代数的核心是向量的加和乘两种运算的组合,本篇博客为线性代数的一个引子,主要从向量、线性组合和矩阵逐步引出线性代数的相关知识。 1、向量和线性组合 首先介绍的是向量相关&#xff0…

DHCP中继实验(思科)

华为设备参考:DHCP中继实验(华为) 一,技术简介 DHCP中继,可以实现在不同子网和物理网段之间处理和转发DHCP信息的功能。如果DHCP客户机与DHCP服务器在同一个物理网段,则客户机可以正确地获得动态分配的IP…

PCL 约束Delaunay三角网(版本二)

目录 一、算法概述二、代码实现三、结果展示四、测试数据本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法概述 PCL 点云Delaunay三角剖分一文给出了PCL中Delaunay三角网算法的基础用法。本文在基础用法的基…

Python与FPGA——膨胀腐蚀

文章目录 前言一、膨胀腐蚀二、Python实现腐蚀算法三、Python实现膨胀算法四、Python实现阈值算法五、FPGA实现腐蚀算法总结 前言 腐蚀是指周围的介质作用下产生损耗与破坏的过程,如生锈、腐烂等。而腐蚀算法也类似一种能够产生损坏,抹去部分像素的算法。…

Gafana Redis Overview dashboard

1. 简介 根据提供的 Redis 监控仪表盘 JSON 文件,包含的监控指标及其简要描述如下: redis_uptime_in_seconds: Redis 实例的运行时间(秒)。 redis_connected_clients: 当前连接到 Redis 实例的客户端数量。 redis_memory_used_bytes: Redis 实例使用的内存量(字节)。 redis_m…

SAP 消息编号 SG037

在日常外币银行结汇的时候,汇率小数点有可能是6位,但是SAP的汇率字段长度小数点后只有5位 所以,客户在F-02的时候,会出现一下报错“条目过长” 解决方法: 更改汇率的比率 OB08重新修改汇率 F-02界面 但是这种方法的风…

对接外卖平台接口的实践总结

当开发者需要将自己的系统或应用程序与外卖平台接口对接时,这项任务可能会涉及到一系列复杂的步骤和技术挑战。在本篇博客文章中,我们将总结对接外卖平台接口的实践经验,并分享关键的注意事项和最佳实践。 ### 1. 确定需求和目标 在开始对接…

【leetcode热题】对链表进行插入排序

给定单个链表的头 head ,使用 插入排序 对链表进行排序,并返回 排序后链表的头 。 插入排序 算法的步骤: 插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。每次迭代中,插入排序只从输…

OD_2024_C卷_200分_7、5G网络建设【JAVA】【最小生成树】

package odjava;import java.util.Scanner;public class 七_5G网络建设 {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt(); // 基站数量(节点数)int m sc.nextInt(); // 基站对数量(边数&…

超越DragGAN和DragDiffusion!StableDrag:基于点的图像编辑新框架(南大腾讯) 原创 Yutao Cui等 AI生成未来

超越DragGAN和DragDiffusion!StableDrag:基于点的图像编辑新框架(南大&腾讯) 原创 Yutao Cui等 AI生成未来 文章链接:https://arxiv.org/pdf/2403.04437 开源地址:https://stabledrag.github.io/ 基于点的图像编辑自DragGAN出现以来就引…

【计算机视觉】图像处理算法(其他篇)

来源:《OpenCV3编程入门》,怀念毛星云大佬🕯️ 说明:本系列重点关注各种图像处理算法的原理、作用和对比 漫水填充 漫水填充法是一种用特定的颜色填充连通区域,通过设置可连通像素的上下限以及连通方式来达到不同的填…

MyBatisPlus理解

MyBatisPlus是mybatis的增强,mybatis是数据库持久化的框架,但mybatisplus并不是替代mybatis,而是相辅相成的关系 MyBatisPlus不会对以前使用mybatis开发的项目进行影响,引入后仍然正常运行。 使用方法: 1.在引入了对…

使用Spring的AOP

使用Spring的AOP 一、AOP 的常用注解1.切面类Aspect2.Pointcut3.前置通知Before4.后置通知AfterReturning5.环绕通知Around6.异常通知AfterThrowing7.最终通知After8.切面顺序Order9.启用自动代理EnableAspectJAutoProxy 二、AOP注解方式开发三、AOP 全注解开发四、基于XML配置…

5G网络助力智慧文旅发展:实现旅游资源的优化配置与高效利用

目录 一、5G网络在智慧文旅中的关键作用 1、高速率传输提升数据处理能力 2、低时延助力实时决策与调度 3、大连接实现全面覆盖与精细化管理 二、5G网络助力实现旅游资源的优化配置 1、精准匹配游客需求与旅游资源 2、促进旅游资源的跨区域合作与共享 三、5G网络助力实现…

【Python】科研代码学习:七 TrainingArguments,Trainer

【Python】科研代码学习:七 TrainingArguments,Trainer TrainingArguments重要的方法 Trainer重要的方法使用 Trainer 的简单例子 TrainingArguments HF官网API:Training 众所周知,推理是一个大头,训练是另一个大头 之…

XSS-Labs靶场“11-13、15-16”关通关教程

君衍. 一、第十一关 referer参数注入二、第十二关 user-agent参数注入三、第十三关 cookie参数绕过四、第十五关 ng-include文件包含五、第十六关 回车代替空格 点击跳转: XSS-Labs靶场“1-5”关通关教程 XSS-Labs靶场“6-10”关通关教程 一、第十一关 referer参数…

[uni-app ] createAnimation锚点旋转 及 二次失效问题处理

记录一下: 锚点定位到左下角, 旋转动画 必须沿Z轴,转动 但是,此时会出现 后续动画在微信小程序失效问题 解决: 清空 this.animationData

201912青少年软件编程(Scratch)等级考试试卷(一级)

201912 青少年软件编程(Scratch)等级考试试卷(一级) 第1题:【 单选题】 关于造型和背景,下面说法不正确的是? A:造型编号从1开始 B:有四个背景,删除第二个背景,背景编…

11_Http

文章目录 HttpHttp协议网络模型Http协议的工作流程Http请求报文请求行请求方法请求资源协议版本 请求头空行请求体抓包软件:Fiddler Http响应报文响应行状态码 响应头响应体 请求完整的处理流程 Https 整体流程图: 前端:负责获取数据&#xf…

雷赛控制卡获取轴当前位置的值不正确问题处理

现像 从雷赛控制卡中获取当前轴位置值时发现轴在向零点的右边走时显示的值是负数。正常来就一般是要反馈正数的。一般轴零点右边是正方向,限位是正限位,反馈的位置也应该是正数。 如果雷赛软件中的【单轴参数】中的基本设置中的【脉冲模式】设置的是对的…