Ubuntu下FastDFS的安装

2023-11-11

准备工作:

刚安装好的linux系统没有设置root用户密码的,下边介绍如何设置root用户的密码

由于ubtun系统默认是没有激活root用户的,需要我们手工进行操作,在命令行界面下,或者在终端中输入如下命令: 
sudo passwd 或者sudo passwd root
Password:你当前的密码 
Enter new UNIX password:这个是root的密码 
Retype new UNIX password:重复root的密码 

 

无法远程连接:

解决:

1、确认ssh服务已安装,通过普通用户连接成功;

2、确认ssh配置是否对root进行特殊设置,修改/etc/ssh/sshd_config文件中

PermitRootLogin without-password将 without-password改为yes;

3、重启ssh服务/etc/init.d/ssh restart;

 

 

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

在Centos7下和在Ubuntu下安装FastDFS是不同的,在Ubuntu上安装FastDFS需要安装libevent,而外Centos上安装FastDFS需要安装libfastcommon。

FastDFS的项目主页:https://github.com/happyfish100/fastdfs

本文以Ubuntu 18.04 64位操作系统为例进行安装,FastDFS版本为5.08.

第一步:安装Git

fastdfs依赖libfastcommon,需要从github上clone到本地编译安装。因此首先需要安装git。

执行命令:

 

apt-get install git


第二步:克隆libfastcommon库

libfastcommon的源在项目 https://github.com/happyfish100/libfastcommon 需要使用git将其clone至本地安装。

执行命令:

 

git clone https://github.com/happyfish100/libfastcommon.git

error: RPC failed

报错原因:

git缓存区不足

解决方案

修改Git的传输字节限制即可。

git config --global http.postBuffer 524288000

 

第三步:安装libfastcommon依赖

进入libfastcommon目录,依次执行脚本:

 

./make.sh

 

./make.sh install

如图:

  注意:

        执行make.sh失败,是由于当前Linux版本中没有相应的编译环境

             解决:

                     安装build-essential的软件包,就可以一次将编译器、make工具、所有的编程头文件、函数库等东东全部安装上,其                      中也包括gcc编译器,这是非常稳妥的安装方式,

                     安装命令是用root用户身份执行: apt-get install build-essential

第四步:设置环境变量和软链接

在32位ubuntu中,libfastcommon会安装在/usr/lib 中,64位系统则安装在 /usr/lib64 中。依次执行以下命令:(根据自己的操作系统选择路径)

 

export LD_LIBRARY_PATH=/usr/lib/

ln -s /usr/lib/libfastcommon.so /usr/local/lib/libfastcommon.so

第五步:下载、解压并安装FastDFS

FastDFS的Github下载地址为:https://github.com/happyfish100/fastdfs/releases

下载完成后,执行命令:

 

tar xzf fastdfs-5.08.tar.gz 


进入解压后的目录,依次执行:

 

./make.sh 

 

./make.sh install

ubuntu fastdfs ./make.sh install 执行报错

2016年04月18日 16:28:26

阅读数:143

ln: failed to create symbolic link ‘/usr/lib64/libfastcommon.so’: No such file or directory
ln: failed to create symbolic link ‘/usr/lib64/libfdfsclient.so’: No such file or directory

解决

修改文件,client/fdfs_link_library.sh.in

#查找:
ln -fs $TARGET_LIB/libfastcommon.so.1 /usr/lib64/libfastcommon.so
ln -fs $TARGET_LIB/libfdfsclient.so.1 /usr/lib64/libfdfsclient.so

#替换成:
ln -fs $TARGET_LIB/libfastcommon.so.1 /usr/lib/libfastcommon.so
ln -fs $TARGET_LIB/libfdfsclient.so.1 /usr/lib/libfdfsclient.so

如图:

第六步:修改配置文件

在默认安装路径 /etc/fdfs 下,有三个示例配置文件:

首先将这三个文件名中的sample去掉,改为:

然后修改 tracker.conf 文件中的日志存放路径 和 tracker server HTTP端口号:

 

 
  1. # the base path to store data and log files

  2. base_path=/home/fastdfs/log

注意,这个路径是根据实际情况自定义的,文件路径需要安装者手动创建,否则后续步骤会报“路径不存在”的错误,下同。

 

 
  1. # HTTP port on this tracker server

  2. http.server_port=8090

接下来修改 storage.conf 文件:

 

 
  1. group_name=group1

  2. store_path0=/home/fastdfs/storage0

  3. base_path=/home/fastdfs/log

  4. tracker_server=192.168.1.108:22122

  5. http.server_port=8888

配置文件里有详细注释说明,这里不再赘述每个参数的作用。

继续修改 client.conf 文件:

 

 
  1. base_path=/home/fastdfs/log

  2. tracker_server=192.168.1.108:22122

  3. http.tracker_server_port=8888

  4. #include http.conf


注意,#include http.conf 这句,原配置文件中有2个#,删掉一个。

最后,修改 http.conf 文件。http.conf 文件在解压目录的conf目录下,里面有个默认图片路径,愿意改就改了吧。

 

http.anti_steal.token_check_fail=/home/fastdfs/anti-steal.jpg

最后确认一下,四个配置文件:

第七步:启动服务

依次执行:

 

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

  2. /usr/bin/fdfs_storaged /etc/fdfs/storage.conf


如果上一步配置文件中的自定义路径没创建,有可能报这个错误:

手动创建目录即可。
执行以下命令,验证服务:

 

neps -ef |grep fdfs


第八步:测试上传文件

首先准备一张图片文件,例如:/home/software/qq.jpg

将这张图片上传至FastDFS,执行:

 

fdfs_test /etc/fdfs/client.conf upload /home/software/qq.jpg


上传成功,生成了两个文件。

 

测试报错

[2018-01-04 16:37:54] ERROR - file: tracker_proto.c, line: 48, server: 192.168.146.111:22122, response status 2 != 0

[2018-01-04 16:37:54] ERROR - file: tracker_proto.c, line: 48, server: 192.168.146.111:22122, response status 2 != 0

tracker_query_storage fail, error no: 2, error info: No such file or directory

# store_path#, based 0, if store_path0 not exists, it's value is base_path
# the paths must be exist
store_path0=/home/fastdfs/storage0

该路径下没有相应的文件夹

/home/fastdfs/storage0

手动创建文件夹storage0

执行:

pkill -9 fdfs

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

/usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf

重新测试成功!!!

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

Ubuntu下FastDFS的安装 的相关文章

  • link标签的其他作用

    在html中link标签的最常用 主要作用是进行css外部样式的引用 还有其他功能是引入icon 也就是可以用来设置这个网站的图标 另一条平时不太容易接触的功能 就是DNS预解析 属于前端优化的范畴 可以加快网页打开 响应的速度 因为每一次
  • apex您所在的地区目前不提供此物品_apex混合精度加速

    Pytorch 简介 Nvidia提供了一个混合精度工具apex 可以加速pytorch的训练效率 空间和时间上 号称可以这不降低模型性能的情况下 将训练速度提升2 4倍 训练显存开销减少为原来的一半 开源地址如下 https github
  • (一)低功耗设计目的与功耗的类型

    一 低功耗设计的目的 1 便携性设备等需求 电子产品在我们生活中扮演了极其重要的作用 便携性的电子设备便是其中一种 便携性设备需要电池供电 需要消耗电池的能量 在同等电能提供下 低功耗设计的产品就能够工作更长的时间 时间的就是生命 因此低功
  • Java怎样写优秀的代码_写优质Java代码的4个技巧

    咱们平时的编程使命不外乎便是将相同的技能套件应用到不同的项目中去 关于大多数状况来说 这些技能都是能够满意方针的 然而 有的项目或许需求用到一些特别的技能 因而工程师们得深入研究 去寻觅那些最简略但最有用的办法 在前一篇文章中 咱们讨论了必
  • springmvc项目搭建

    第3天 Spring SpringMVC MyBatis集成 学习目标 SSM集成 集成流程理解 集成SpringMVC 集成Spring 集成MyBatis 事务测试 第1章 搭建环境 1 1 整合流程 整合说明 SSM整合可以使用多种方
  • 【论文精读】Hierarchical Text-Conditional Image Generation with CLIP Latents

    Hierarchical Text Conditional Image Generation with CLIP Latents 前言 Abstract 1 Introduction 2 Method 2 1 Decoder 2 2 Pri
  • 怎样将自己的电脑变成一个服务器(本地服务器)

    你想将自己的电脑变成一个服务器吗 或许你还不知道我们自己的电脑也可摇身一变成为服务器 现在我分享一下把我们的电脑变为服务器的方法 工具 原料 电脑 步骤1 打开 修改电脑相关服务功能 1 1 点击 开始 打开 控制面板 2 2 打开 程序
  • 登录工程一:传统 Web 应用中的身份验证技术

    标题中的 传统Web应用 这一说法并没有什么官方定义 只是为了与 现代化Web应用 做比较而自拟的一个概念 所谓 现代化Web应用 指的是那些基于分布式架构思想设计的 面向多个端提供稳定可靠的高可用服务 并且在需要时能够横向扩展的Web应用
  • 华为OD机试 - 比较两个版本号的大小(Java)

    题目描述 输入两个版本号 version1 和 version2 每个版本号由多个子版本号组成 子版本号之间由 隔开 由大小写字母 数字组成 并且至少有一个字符 按从左到右的顺序比较子版本号 比较规则如下 子版本号前面的0不参与比较 比如
  • 使用gSOAP与WebService - 第二部分 开发第一个WebService客户端(C++)

    CurrencyConvertor How use gSOAP and WebServices Part 2 Doing the first WS client Download Demo Project 42 1 KB Download
  • JSON空格转义(php、javascript)

    用input控件 存储json数据时 字符串有空格时报错 解决方法 进行空格转义 js文件 javascript var jsonData JSON stringify data replace s g nbsp var rowData
  • python读取图像并相加_python给图像加上mask,并提取mask区域实例

    python对图像提取mask部分 代码 coding utf 8 import os import cv2 import numpy as np def add mask2image binary images path masks pa
  • android nfc中Ndef格式的读写

    原文地址 检测到标签后在Activity中的处理流程 1 在onCreate 中获取NfcAdapter对象 NfcAdapter nfcAdapter NfcAdapter getDefaultAdapter this 2 在onNewI
  • 微信小程序 实现天气类功能

    参考链接 1 全国城市天气预报 城市天气预报查询 国内天气预报查询 天气网 https www tianqi com chinacity html 2 获取实时天气数据 获取数据 开发指南 微信小程序SDK 高德地图API https lb
  • apache字体文件跨域_css引用跨域字体文件woff,eot,ttf问题

    今天把站点的字体的静态文件woff eot ttf放到cdn去速度快一些 改成了外链地址 居然不加载报错 用下面的公用地址可以正常使用 https cdn bootcss com font awesome 4 7 0 fonts 搜索下 是
  • H5 页面采坑记录

    1 页面布局时 上下滑动页面时通常会把一些盒子放在 section section 标签中 但是在一些机型如iphonex测试中 上下滑动页面会出现都抖动的情况 不知道什么原因 解决方案就是 不使用 section 标签 直接在大盒子中写滚
  • 多线程之常用线程安全类型分析

    写在前面 本文一起看下在日常工作中我们经常用到的线程安全的数据类型 以及一些经验总结 1 常用线程安全数据类型 1 1 jdk集合数据类型 jdk的集合数据类型分为两类 一种是线性数据结构 另外一种是字典结构 分别看下 1 1 1 线性数据
  • 通过PyInstaller打包报“文件遇到错误”

    前言 不知道大家在作为python程序后 是不是都通过PyInstaller打包给用户使用呢 但是通过PyInstaller打包会出现一点小小的问题 本文章就来教你如何去解决这些问题 让打包后显示出控制台窗口 在打包的时候 不用加上 w让窗
  • 解码(二):音视频解码上下文创建配置和打开avcodec_open2打开演示

    如下代码 视频解码器打开 找到视频解码器 AVCodec vcodec avcodec find decoder ic gt streams videoStream gt codecpar gt codec id if vcodec cou

随机推荐

  • 远期与期货

    概述 期货合约与远期合约都是规定在将来的某一时间购买或者出售某项资产 这一点与期权类似 关键不同之处在于 期权持有者不会被强制购买或者出售资产 当无利可图时 可以选择放弃交易 但是 期货或者远期合约由必须履行事先约定的合约义务 远期 仅仅是
  • Java Lombok 报错(IllegalAccessError: class lombok.javac.apt.LombokProcessor)解决方法

    本文主要介绍Java 中 使用Lombok报错 java java lang IllegalAccessError class lombok javac apt LombokProcessor的解决方法及示例代码 原文地址 Java Lom
  • Java Swing 如何让界面更加美观

    文章目录 一 设置窗体的背景图 二 设置Button组件 三 设置字体大小和颜色 四 设置组件的背景色 五 综合测试案例 一 设置窗体的背景图 利用JLable类的构造方法或方法加载图片 ImageIcon image new ImageI
  • 设计一个雇员Employee类

    题目内容 设计一个雇员Employee类 具体要求如下 1 设计雇员Employee类 记录雇员的情况 包括姓名 年薪 受雇时间 String name double salary MyDate start 2 定义MyDate类作为日期
  • 装系统时提示 无法在驱动器0分区上安装windows

    先看提示 先看提示 先看提示 1 在重装系统时遇到一个问题 无法在驱动器0分区上安装windows 2 解决方法 1 在当前安装界面按住Shift F10调出命令提示符窗口 2 输入diskpart 按回车执行 3 进入DISKPART命令
  • 负数为什么要用补码来表示?

    上篇文章讲了 负数在计算机中是怎么存储的 看完之后 应该对原码 反码 补码有了基本的了解了 今天 我们深入探讨一下 为什么计算机中要用补码来表示负数 首先 我们应该清楚 原码是方便给人看的 看到一个数的原码 我们就能根据符号位和后边的二进制
  • [144]如何用VBS编写一个简单的恶搞脚本

    windows系统的电脑 首先右击桌面 选择新建 文本文档 在桌面上新建一个文本文档 随后打开计算机或者是我的电脑 点击其中的组织 xp系统多为工具 选择下面的文件夹和搜索选项 在弹出的窗口中点击查看 向下滚到 找到隐藏已知文件类型的扩展名
  • Android(Kotlin)获取应用全局上下文 ApplicationContext

    需求 Android Kotlin 获取应用全局上下文 ApplicationContext 有些场景下需要使用的 Context 是和页面无关的 仅和应用进程相关 比如 读写文件或访问数据库 这些场景下 我们希望可以在项目内任意位置 直接
  • Allegro PCB的布局

    1 手工导入元器件 place manually进入放置设置页面 在需要放置的元器件前面打勾 可以依次放置元器件 2 快速放置元器件 place Quickplace 使用快速放置功能需要先画好板宽outline才可以 3 设置room区域
  • c++实现数据结构栈和队列

    1 栈 头文件 ifndef ZHAN H define ZHAN H define MAX 8 include
  • laravel-admin安装及使用教程

    安装命令 安装 Laravel 安装器 composer global require laravel installer 创建名为 shopAdmin 项目 laravel new shopAdmin 经过漫长的等待已经安装好了 进入项目
  • springboot中注入FilterRegistrationBean不生效原因

    springboot中注入FilterRegistrationBean不生效原因 回顾 最近自定义了两个过滤器 接口请求返回加密和sql注入处理过滤器 因为在封装一些工具包 我在单独调好之后 就打算做成一个注解 像springboot启动类
  • 基于自注意力机制的LSTM多变量负荷预测

    1 引言 在之前使用长短期记忆网络构建电力负荷预测模型的基础上 将自注意力机制 Self Attention 融入到负荷预测模型中 具体内容是是在LSTM层后面接Self Attention层 在加入Self Attention后 可以将负
  • 计算机操作系统--文件管理

    文件与文件系统 1 文件 文件 File 是具有符号名的 在逻辑上具有完整意义的一组相关信息项的集合 例如 一个源程序 一个目标程序 编译程序 一批待加工的数据和各种文档等都可以各自组成一个文件 信息项是构成文件内容的基本单位 可以是一个字
  • 15_插入排序算法(附java代码)

    15 插入排序算法 一 基本介绍 插入式排序属于内部排序法 是对于欲排序的元素以插入的方式找寻该元素的适当位置 以达到排序的目的 二 插入排序算法 2 1 算法思想 插入排序 Insertion Sorting 的基本思想是 把n个待排序的
  • 每天五分钟机器学习:使用支持向量机的时候,如何选择模型参数?

    本文重点 上一章 我们学习了支持向量机的特征高维映射 也就是如何将特征映射到高维 在支持向量机中有两个参数需要调节 第一个参数是C 第二个参数是 C C 1 入 因此 C较大时 相当于 较小 意味着不使用正则化 可能会导致过拟合 高方差 C
  • kylin启动:Failed to create /kylin

    文章目录 一 当在ubuntu下执行check env sh时遇到问题 KYLIN HOME is set to usr local apache kylin 1 5 4 1 bin cat invalid option 1 Try cat
  • 用最少的线段覆盖点

    假设现有一平面网格 上有N个点 现用直线段把每个点都覆盖住 线段不能折 只能水平或者竖直方向 如何求出使用的线段最少 如下图所示 上面一个网格 有7个点 其中用三条线段就能覆盖住所有点 下图8个点 也是同样三条线段覆盖住8个点
  • 嵌入式学习笔记--GEC6818--bmp图片显示

    一 开发环境 1 ARM linux 2 ubuntu16 04 安装了GCC arm linux gcc 5 4 0 安装方法ubuntu16 04https blog csdn net qq 40592257 article detai
  • Ubuntu下FastDFS的安装

    准备工作 刚安装好的linux系统没有设置root用户密码的 下边介绍如何设置root用户的密码 由于ubtun系统默认是没有激活root用户的 需要我们手工进行操作 在命令行界面下 或者在终端中输入如下命令 sudo passwd 或者s