腾讯云服务器ubuntu18.04搭建FastDFS文件服务器

2023-10-29

腾讯云服务器ubuntu18.04搭建FastDFS文件服务器

FastDFS简介

FastDFS是用c语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

FastDFS文件上传流程:

Storage Server(仓库工人)定时向Tracker Server(老板)上传状态,如果客户端有请求来了,老板就会去检查当前是否有可用的storage,然后将情况反馈给客户(如果有可用的,则返回可用的storage),然后客户端进行图片上传,然后Storage Server将文件写入,然后返回文件在服务器上的相对路径给客户端,客户端将路径存入数据库进行后续操作即可。

相关的文件已经放到云盘上了,有需要的可以自取

百度云盘地址

提取码:mvo0
在这里插入图片描述

这是我上传到云服务器的目录(可以自己指定目录的)

在这里插入图片描述

下面开始搭建过程

注意:要在root权限下,否则文件可能无法解压,root权限下操作也比较方便
配置libevent库

安装libevent库(可以直接在云盘下载资源上传到云服务器,这样就可以跳过这一步直接到解压那一步)

本来以为直接使用apt就可以下载了,结果发现找不到(E: Unable to locate package libevent),centos系统直接使用yum命令就可以下载了,后来只好去官网下载来编译了,本人下的是2.1.8版本,下载完成后用xftp工具上传到云服务器

libevent官网地址

在这里插入图片描述

解压libevent-2.1.8-stable.tar.gz
tar -zxvf libevent-2.1.8-stable.tar.gz

进入解压后的文件夹

cd libevent-2.1.8-stable

配置目录

注意:可能会缺少gcc或cmake,缺少的话根据报错信息使用apt下载就行

./configure --prefix=/usr

编译

make

安装

make install

查看是否安装成功

ls -al /usr/lib | grep libevent

在这里插入图片描述

配置 libfastcommon-master

解压libfastcommon-master

unzip libfastcommon-master.zip

进入解压后的文件夹

cd libfastcommon-master

编译

./make.sh

安装

./make.sh install

复制/usr/lib64下的libfastcommon.so到/usr/lib/

cp /usr/lib64/libfastcommon.so /usr/lib/
配置fastdfs

解压fastdfs-5.11.tar-1.gz

tar -zxvf fastdfs-5.11.tar-1.gz

进入解压后的文件夹

cd fastdfs-5.11

编译

./make.sh

安装

./make.sh install

将fastdfs-5.11/conf文件夹下的所有文件复制到/etc/fdfs/

cd conf
cp * /etc/fdfs/
配置tracker服务

进到/etc/fdfs/,对tracker.conf进行修改

cd /etc/fdfs
vim tracker.conf

找到base_path,这是数据及日志的存储路径(自定义),将其修改为

base_path=/home/ubuntu/fastdfs/tracker 

创建tracker目录

mkdir /home/ubuntu/fastdfs/tracker -p

此时tracker已经配置完毕,接下来启动即可

cd /usr/bin
fdfs_trackerd /etc/fdfs/tracker.conf
配置storage服务

进到/etc/fdfs/,对storage.conf进行修改

cd /etc/fdfs/
vim storage.conf

找到base_path,这是文件存储的位置(自定义),修改为

base_path=/home/ubuntu/fastdfs/storage 

修改group_name,这是访问时的前缀名

group_name=xxx

因为storage要定时向tracker汇报,所以要修改本地的tracker_server(修改为本机IP地址即可,端口号不需要改)

tracker_server=IP:22122

创建storage目录

mkdir /home/ubuntu/fastdfs/storage  -p

storage配置完毕,进行启动

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
配置client

进到/etc/fdfs/,对client.conf进行修改

cd /etc/fdfs/
vim client.conf

将base_path改为

base_path=/home/ubuntu/fastdfs/client 

将tracker_server改为本机IP地址

创建client目录

mkdir /home/ubuntu/fastdfs/client  -p

进行文件上传测试

fdfs_test /etc/fdfs/client.conf upload 要上传的文件路径的路径

看到有文件url返回即为上传成功

在这里插入图片描述

文件服务器搭建好了,但是我们并不可以通过http去访问,我们需要借助nginx进行反向代理接下来需要配置nginx
配置fastdfs-nginx-module-master

fastdfs-nginx-module-master这个模块就是fastdfs与nginx之间沟通的桥梁,我们需要对它进行相应配置

解压fastdfs-nginx-module-master.zip

unzip fastdfs-nginx-module-master.zip

进入解压后的src文件夹

cd fastdfs-nginx-module-master/src

修改config,将config里面的内容全删掉,然后换成下面的内容

ngx_addon_name=ngx_http_fastdfs_module
  HTTP_MODULES="$HTTP_MODULES ngx_http_fastdfs_module"
  NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_fastdfs_module.c"
  CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
  CORE_LIBS="$CORE_LIBS -L/usr/lib -lfastcommon -lfdfsclient"
  CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='\"/etc/fdfs/mod_fastdfs.conf\"'"
安装和配置nginx

安装nginx前需要安装的依赖:

apt-get install g++
apt-get install openssl libssl-dev
apt-get install libpcre3 libpcre3-dev
apt-get install zlib1g-dev

解压nginx-1.12.0.tar.gz

tar -zxvf nginx-1.12.0.tar.gz

进入解压后的目录

cd nginx-1.12.0

在命令行直接输入下面的配置指令,然后回车

注意最后一行中的–add-module=后面的路径为你的fastdfs-nginx-module-master/src目录

./configure  \
--prefix=/usr/local/nginx  \
--pid-path=/var/run/ngnix/nginx.pid  \
--lock-path=/var/lock/ngnix.lock  \
--error-log-path=/var/log/nginx/error.log  \
--http-log-path=/var/log/nginx/access.log  \
--with-http_gzip_static_module  \
--http-client-body-temp-path=/var/temp/nginx/client  \
--http-proxy-temp-path=/var/temp/nginx/proxy  \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi  \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi  \
--http-scgi-temp-path=/var/temp/nginx/scgi  \
--add-module=/home/ubuntu/fastdfs/fastdfs-nginx-module-master/src

编译

make

安装

make install

将/home/tar/fastdfs-nginx-module-master/src/mod_fastdfs.conf拷贝到/etc/fdfs/

cp /home/ubuntu/fastdfs/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/

进入/etc/fdfs/对mod_fastdfs.conf进行修改

cd /etc/fdfs
vim mod_fastdfs.conf

将base_path修改为

base_path=/home/ubuntu/fastdfs/tmp

将tracker_server改为本机IP地址

将group_name改为与前面配置storage服务时一致的名字

将 url_have_group_name改为true

url_have_group_name = true

修改nginx配置文件,为其添加一个新的server配置

cd /usr/local/nginx/conf
vim nginx.conf

在这里插入图片描述

检测nginx是否配置完成

cd /usr/local/nginx/sbin
./nginx -t

发现报错提示少了一个文件夹,进行创建

mkdir /var/temp/nginx/client -p

启动nginx

./nginx

关闭防火墙

ufw disable
配置mod_fastdfs.conf
cd /etc/fdfs/
vim mod_fastdfs.conf
将store_path0改成store_path0=/home/ubuntu/fastdfs/storage
重启所有服务
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
cd /usr/local/nginx/sbin/
./nginx -s reload
成功访问到图片

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

腾讯云服务器ubuntu18.04搭建FastDFS文件服务器 的相关文章

  • Redis数据库云端最佳技术实践

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 本文由腾讯云数据库 TencentDB发表于云 社区专栏 邹鹏 腾讯高级工程师 腾讯云数据库Redis负责人 多年数据库 网络安全研发经验 在网络 计算 存储 安全等领域有深入的研究
  • 华为云使用手册

    华为云重磅福利 云主机 海外云主机 云容器和多款云产品0元领取 华为云重磅推出云上优选 特惠来袭来迎接这个来之不易的春天 本次活动依然是给到了很低的折扣 0 7折起 活动走起 福利1 免费试用海外云主机和云原生容器网页连接 进入免费试用专区
  • 如何替代即将淘汰的Flash方案?

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 本文由MarsBoy发表于云 社区专栏 导语 Web技术飞速发展的如今 我们在感受新技术带来的便捷和喜悦的同时 也时常在考虑着一个问题 老技术如何迁移 正如本文的主题一样 Flash
  • 基于 Docker 来安装 FastDFS

    文章目录 百度百科 FastDFS 简介 FastDFS 存储策略 上传交互过程 下载交互过程 FastDFS的文件同步 FastDFS 为什么要结合 Nginx 其他资源 FastDFS 安装 环境准备 创建工作目录 docker com
  • 什么?强化学习竟然来源于心理学?

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 本文由罗晖发表于云 社区专栏 1 Google的DQN论文 2015年2月 Google在Nature上发表了一篇论文 见附件 Human level control through
  • Web 【基础】 10分钟快速搭建一个网站

    接触web开发也有大半年了 下面我来总结一下如何从零开始搭建一个网站 其实搭建一个网站 可以简单到10分钟 10块钱就能搭建 也可以难到成千上万人 耗费数百万一同搭建数个月 目录 一 选择服务器 各种服务器的区别 购买云服务器 二 安装宝塔
  • 中国CDN市场厂商排名:阿里云稳居第一,腾讯云第三

    中国CDN市场厂商排名 阿里云稳居第一 腾讯云第三 日前 市场咨询机构计世资讯 CCW Research 发布 2018 2019年中国CDN市场发展报告 显示 阿里云以近31 的市场份额 成为中国CDN市场第一大厂商 腾讯云则以10 4
  • Zookeeper 通知更新可靠吗? 解读源码找答案!

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 本文由特鲁门发表于云 社区专栏 导读 遇到Keepper通知更新无法收到的问题 思考节点变更通知的可靠性 通过阅读源码解析了解到zk Watch的注册以及触发的机制 本地调试运行模拟
  • C#连接云服务器MySql数据库

    环境 vs2017 第一步 在主窗口代码区新建一个类 用于连接数据库 在开发过程中其他窗口 常常也需要 对数据库进行操作 如果在每一个窗口的代码区域都连接一次数据库的话 就会很麻烦 所以在主窗口先用一个公共类连接了数据库 其他窗口就可以直接
  • 购买阿里云服务器,先试试主机免费试用能抢到不 ...

    阿里云提供6个月的免费试用期 购买阿里云服务器之前先试试能不能免费抢到使用主机 先试用再正式购买 用起来更放心哈 步骤 1 进入阿里云导航栏的最新活动页 选择新手专区里面的阿里云免费套餐 2 根据自己账户的实名认证信息是个人认证还是企业认证
  • 云服务器选什么系统

    特网科技是一家领云计算服务提供商 拥有全球性服务 覆盖了超过200个国家和地区 提供多种不同的服务器操作系统 包括常见的Linux和Windows 以及一些非常特殊的OS 如FreeBSD和OpenSUSE 如何选择合适的操作系统对于服务器
  • 【单片机笔记】STM32+ESP8266通过AT指令WIFI连接阿里云MQTT服务器

    上一篇使用USB转串口的方式通过ESP8266wifi模块的方式成功连接上了阿里云 现在就要通过单片机来替换电脑上位机了 这样单片机自动的去调用并发送串口数据更加方便 也更加符合一个产品的开发 板载的传感器有NTC温度 光强 这两个主要用来
  • 作为一个编程新手,我再也不怕Flink迷了我的眼!

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 本文由kyledong 发表于云 社区专栏 使用 Flink 编写处理逻辑时 新手总是容易被林林总总的概念所混淆 为什么 Flink 有那么多的类型声明方式 BasicTypeInf
  • 如何选购阿里云服务器并快速入门(Windows版本)?

    本入门教程采用ecs g6 large实例规格 在Windows Server 2016系统上配置了IIS服务 结合ECS管理控制台展示如何快速使用云服务器ECS 准备工作 创建账号 以及完善账号信息 注册阿里云账号 并完成实名认证 具体操
  • 云服务器上Wamp搭建网站

    说明 想要在云服务器搭建网站 且需要被外网访问浏览的苦逼程序员可以参考本文 前提是你已经购买好了服务器以及公网IP 近一个月买了3次服务器 使用wamp搭建了3次网站了 本以为最后一次会轻车熟路 但是东搞西搞还是花了1个多小时 看来还是要把
  • FastDFS文件同步机制简介

    FastDFS文件同步机制简介 本篇文章转载于FastDFS作者 余庆 大佬的 FastDFS分享与交流 公众号 FastDFS 文件同步采用 binlog 异步复制方式 storage server 使用 binlog 文件记录文件上传
  • Disconnected: No supported authentication methods available(server sent:public key)

    Putty登陆服务器时 报错 Disconnected No supported authentication methods available server sent public key 重置服务器密码即可
  • 云计算的概念、原理和关键技术

    1 云计算的定义 NIST 美国国家标准及技术研究所 对云计算的定义 云计算是一种模型 实现无处不在的 方便 通过网络按需访问的可配置的共享计算资源池 例如 网络 服务器 存储 应用程序 服务 这些资源可以快速提供 通过最小化管理成本或与服
  • 云服务器是什么? 云服务器有哪些选择?

    欢迎前往我的个人博客云服务器查看更多关于云服务器和建站等相关文章 随着互联网技术的发展和云计算技术的应用 越来越多的企业倾向于使用云服务器来满足其不断增长的计算需求 云服务器是一种基于云计算技术的虚拟服务器 它能够为企业提供高性能 可靠 灵
  • ubuntn 下安装nginx 报错 ./configure: error: C compiler cc is not found

    原因是 error C compiler cc is not found c编译器没有安装 解决办法 需要安装编译工具及库文件 网址很多文章没有详细写nginx 安装教程 跟着教程敲命令然后出错了 安装nginx需要安装编译工具及库文件参考

随机推荐

  • ssh 配置文件中 maxsessions 与 MaxStartups

    MaxStartups 同时允许几个尚未登入的联机画面 所谓联机画面就是在你ssh登录的时候 没有输入密码的阶段 如下图 maxsessions 同一地址的最大连接数 也就是同一个IP地址最大可以保持多少个链接 转载于 https blog
  • CentOS基础命令大全

    1 关机 立即关机 shutdown h now 立即关机 init 0 立即关机 telinit 0 预约时间关机 shutdown h hours minutes 取消预约关机 shutdown c 重启 shutdown r now
  • 一些关于远程仓库操作的git指令

    1 更换项目所关联的仓库 要先删除目前的远程仓库 然后再添加新的远程仓库 1 git remote rm origin 2 git remote add origin 新的仓库地址 3 git remote v 查看现在的远程仓库 4 gi
  • Hausdorff 距离

    Hausdorff 距离是描述两组点集之间相似程度的一种量度 假设有两组集合 则这两个点集之间的单向 Hausdorff 距离 其中 a b 表示 a 与 b 之间的欧氏距离 h A B 也叫前向 Hausdorff 距离 h B A 也叫
  • Android9.0 mm编译失败:ninja: error: 'xxx', needed by 'xxx', missing and no known rule to make it

    Android系统源码环境下使用mm命令单独编译某一个模块 如果该模块依赖其它模块 可能会报如下错误 解决此问题的方法就是改成mma命令编译 mma命令会构建所需要的关联模块 编译命令简单总结 mm 编译当前目录下的模块 当前目录下要有An
  • 获取成员函数地址及获取函数地址

    首先我们定义一个类Ctest 类里面包含三个不同形式的成员函数 静态成员函数statFunc 动态成员函数dynFunc 和虚拟函数virtFunc 在main函数中我们利用cout标准输出流分别输出这三个函数的地址 程序如下所示 incl
  • WebSocket协议深度解析

    WebSocket协议深度解析 1 WebSocket简介 WebSocket相比于Http协议 它有如下几个优点 支持双向通信 更灵活 更高效 可扩展性更好 支持双向通信 实时性更强 更好的二进制支持 较少的控制开销 连接创建后 ws客户
  • NER相关技术

    实体词典匹配 优点 缺点 模型原理 优点 缺点 模型输入 模型输出 实体词典匹配 模型预测两路结果是怎么合并输出的 目前我们采用训练好的CRF权重网络作为打分器 来对实体词典匹配 模型预测两路输出的NER路径进行打分 在词典匹配无结果或是其
  • 随机生成六位不重复数值

    在 Core JAVA 中有个随机生成六位不重复数值的算法 大二用过一次 今天在写 Algorithms 的练习题遇到类似的问题 特贴出 1 随机生成六位不重复的数字 2 private static int generate6BitInt
  • Mybatis的四种分页方式详解

    LIMIT关键字 mapper代码 select from tb user limit pageNo pageSize 业务层直接调用 public List findByPageInfo PageInfo info return user
  • 关于微信小程序在部分PC设备无法打开的问题

    目前为止微信小程序PC端仍处于灰度测试阶段 部分设备无法打开微信小程序 这个问题在启用分包能力后尤为明显 由于我们不能去控制用户通过PC端访问小程序的行为 仍需对PC端兼容性进行测试 下面我们来介绍测试方式 一 安装微信客户端大于3 4 5
  • 【LeetCode75】第五十四题 咒语和药水的成功对数

    目录 题目 示例 分析 代码 题目 示例 分析 题目给我们两个数组 要我们找出第一个数组中每个元素能和另一个数组的元素匹配的数量 匹配的条件是乘积大于特定的值 那么要乘积大于某个值 就需要乘数越大越好 我们可以把表示药水的数组升序排序 接着
  • aircrack-ng 介绍、功能测试及部分源码分析

    aircrack ng 介绍 功能测试及部分源码分析 实验目的 1 理清aircrack ng的总体设计框架 包括各模块的功能与联系 2 核心模块的实现原理 aircrack ng aireplay ng airodump ng 实验要求
  • C++中按引用传递参数

    C 中按引用传递参数 实参通常是通过值传递给函数的 这意味着形参接收的只是发送给它们的值的副本 它们存储在函数的本地内存中 对形参值进行的任何更改都不会影响原始实参的值 然而 有时候可能会希望一个函数能够改变正在调用中的函数 即调用它的函数
  • linux中的命令 参数 对象,Linux 系统命令、命令参数及命令对象之间,普遍应该使用()间隔? (5.0分)...

    对于实用新型和外观设计专利申请 我国专利法规定实行 是自然界的雷云直接对地面物体 建筑物 放电 它的破坏作用十分大 在标杆管理最佳企业管理实践的阶段 企业只有向同行业标杆企业学习最佳做法 才能提高企业竞争力 经济订购批量 外压容器设计采用的
  • Pytorch版本的BERT使用学习笔记

    一 Google BERT BERT地址 https github com google research bert pytorch版本的BERT https github com huggingface pytorch pretraine
  • 软件设计师---数据结构下

    数据结构下 静态查找 顺序查找 平均查找长度 折半查找 二分查找 折半查找补充 平均查找长度 真题 动态查找 哈希表 哈希表函数构造 哈希表解决冲突 另外一种处理冲突的方法 二次探测在散列 另外一种处理冲突的方法 链地址法 哈希表装填因子
  • spring底层核心原理解析

    目录 一 Spring如何创建一个对象 二 Bean的创建生命周期 三 推断构造方法 四 Spring的构造方法设计 五 利用cglib进行Aop的流程 六 spring判断对象要不要进行aop 一 Spring如何创建一个对象 Annot
  • 阿里云轻量应用服务器和云服务器ECS区别(终于懂了)

    阿里云服务器ECS和轻量应用服务器有什么区别 云服务器ECS是明星级云服务器 轻量应用服务器可以理解为简化版的云服务器ECS 轻量适用于单机应用 云服务器ECS适用于集群类高可用高容灾应用 阿里云百科来详细说下阿里云轻量应用服务器和云服务器
  • 腾讯云服务器ubuntu18.04搭建FastDFS文件服务器

    腾讯云服务器ubuntu18 04搭建FastDFS文件服务器 FastDFS简介 FastDFS是用c语言编写的一款开源的分布式文件系统 FastDFS为互联网量身定制 充分考虑了冗余备份 负载均衡 线性扩容等机制 并注重高可用 高性能等