当前位置:   article > 正文

CentOS 7 安装并配置 Fastdfs-6.9.5_libserverframe

libserverframe

目录

一、下载Fasdtdfs

1. 安装发射器libfastcommon

 Ⅰ、安装gcc(有可以不安)

Ⅱ-1、下载站内的libfastcommon拖入指定路径  

Ⅱ -2、wget下载 libfastcommon到指定路径下

Ⅲ、解压libfastcommon

Ⅳ、安装 libfastcommon 所需的依赖

Ⅴ、安装 libfastcommon

Ⅵ、安装所需的依赖库 

Ⅶ、更换版本时卸载 libfastcommon方法(不是现在需要,如果版本不兼容,想换版本使用)

 2.安装libserverframe

Ⅰ-1、站内下载 libserverframe

 Ⅱ-2、wget指令下载

Ⅲ、解压 libserverframe

Ⅳ、编译 libserverframe

Ⅴ、 卸载之前的编译(以后更新版本时使用)

3.安装Fasdtdfs (源码包需要编译)

Ⅰ、检查依赖项并安装所需的库 

Ⅱ-1、站内下载源码包到指定的路径(git访问不了)

Ⅱ-2、 使用wget指令下载

Ⅲ、解压Fasdtdfs 

Ⅳ、安装 fastdfs

Ⅴ、设置配置路径 

Ⅵ、修改配置文件 

①修改tracker.conf

②修改 storage.conf

③client配置修改 

④我们测试client 

4.安装Nginx并整合 

Ⅰ、下载安装nginx 

 Ⅱ、安装模块

Ⅲ、修改模块的配置文件 

 Ⅳ、修改nginx配置

附: 

1.新建ip地址 

Ⅰ、找到配置文件 


一、下载Fasdtdfs

1. 安装发射器libfastcommon

注:因为用的是 fastdfs-6.9.5 ,所以应该下载 libfastcommon-1.0.67,但是截图是libfastcommon-1.0.69(因为我一开始安装有点问题)

 Ⅰ、安装gcc(有可以不安)

yum install -y gcc gcc-c++

 

Ⅱ-1、下载站内的libfastcommon拖入指定路径  

 上面这个应该是fastdfs-6.9.5-1 的我们现在演示 fastdfs-6.9.5   下载下面这个

 【免费】libfastcommon-1.0.69.tar.gz资源-CSDN文库
【免费】libfastcommon-1.0.67.tar.gz(对应fastdfs-6.9.5.tar.gz)-其它文档类资源-CSDN文库

下载完成之后,用FinalShell之类的拖到需要的文件夹中(这里是cd /usr/local)

 

Ⅱ -2、wget下载 libfastcommon到指定路径下

 如果可以去git仓库可以看一下最新版是多少(不能去的话安装指令也用不了)

发现最新版本是1.0.69-1之后,我们安装1.0.69

  1. cd /usr/local
  2. wget https://github.com/happyfish100/libfastcommon/archive/V1.0.69.tar.gz

 (其实这一步我建立不了SSL连接,所以我直接去了仓库下载了并且上传了包到上面)

Ⅲ、解压libfastcommon

注:下面指令我改成1.0.67版本的了,但是截图没改还请包容

  1. cd /usr/local
  2. tar -zxvf libfastcommon-1.0.67.tar.gz
  3. cd /usr/local/libfastcommon-1.0.69

Ⅳ、安装 libfastcommon 所需的依赖

yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget

 

Ⅴ、安装 libfastcommon

  1. cd /usr/local/libfastcommon-1.0.67
  2. ./make.sh

 下面是成功的样子

 还有一步

./make.sh install

 

Ⅵ、安装所需的依赖库 

  1. cd /usr/local/libfastcommon-1.0.67
  2. yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget

Ⅶ、更换版本时卸载 libfastcommon方法(不是现在需要,如果版本不兼容,想换版本使用)

/usr/local/libfastcommon-1.0.67

 进入目录(之前make过才叫安装了,只是下载解压,它还是源代码,不算安装)
 

./make.sh clean

然后就可以从第一步开始选择安其他版本的
 

 2.安装libserverframe

我之前是安装5.x版本安装,走到编译时出现了 

 

 网上教程都是说libfastcommon有问题,我也换了好几个版本,还下了master版本,依旧不行,后面找到了还需要安装这个。 

Ⅰ-1、站内下载 libserverframe

 【免费】libserverframe-1.1.26.tar.gz(对应fastdfs-6.9.5.tar.gz)资源-CSDN文库

 下载之后拖入/usr/local

 Ⅱ-2、wget指令下载

  1. cd /usr/local
  2. wget https://codeload.github.com/happyfish100/libserverframe/tar.gz/V1.1.26

 下载之后的包名应该辨识度很低,请改为 libserverframe-1.1.26.tar.gz
(下载之后应该是V1.1.26,这一步我省略了,所以没有验证,根据经验应该是这个名字)

Ⅲ、解压 libserverframe

  1. cd /usr/local
  2. tar -zxvf libserverframe-1.1.26.tar.gz

 

Ⅳ、编译 libserverframe

  1. cd /usr/local/libserverframe-1.1.26
  2. ./make.sh

 

./make.sh install

 

 这两个都安装好了,才能安装Fasdtdfs

Ⅴ、 卸载之前的编译(以后更新版本时使用)

  1. cd /usr/local/libserverframe-1.1.26
  2. ./make.sh clean

3.安装Fasdtdfs (源码包需要编译)

Ⅰ、检查依赖项并安装所需的库 

sudo yum install -y libevent libevent-devel libwebp libwebp-devel zlib zlib-devel pcre pcre-devel openssl openssl-devel

Ⅱ-1、站内下载源码包到指定的路径(git访问不了)

【免费】fastdfs-6.9.5.tar.gz资源-CSDN文库

Ⅱ-2、 使用wget指令下载

  1. cd /usr/local
  2. wget https://github.com/happyfish100/fastdfs/archive/V6.9.5.tar.gz

(我上午还不能指令下,下午就可以了)

 

 下载下来名字没有辨识度,建议改一下,不然下次不知道是什么包

Ⅲ、解压Fasdtdfs 

  1. cd /usr/local
  2. tar -zxvf fastdfs-6.9.5.tar.gz

Ⅳ、安装 fastdfs

  1. cd /usr/local/fastdfs-6.9.5
  2. ./make.sh

找了一下午方法我可是编译成功了 ,记得前面两个东西都要安装好)

./make.sh install

Ⅴ、设置配置路径 

  1. cd /usr/local/fastdfs-6.9.5
  2. ./setup.sh /etc/fdfs

 查看结果

ls -l /etc/fdfs/

 

  • client.conf:客户端配置文件。
  • http.conf:HTTP 访问的相关配置文件。
  • mime.types:MIME 类型映射配置文件。
  • storage.conf:存储服务器配置文件。
  • storage_ids.conf:存储服务器 ID 配置文件。
  • tracker.conf:跟踪服务器配置文件。

Ⅵ、修改配置文件 

首先,新建几个路径用于储存数据,我是喜欢存在安装路径下面自己新建路径
 

  1. mkdir /usr/local/fastdfs-6.9.5/base-home
  2. mkdir /usr/local/fastdfs-6.9.5/base-home/tracker
  3. mkdir /usr/local/fastdfs-6.9.5/base-home/storage
  4. mkdir /usr/local/fastdfs-6.9.5/base-home/client

 然后先修改需要修改最少的


①修改tracker.conf
  1. /etc/fdfs
  2. vi tracker.conf

port:Tracker 服务器监听的端口号。Tracker 服务器是 FastDFS 的跟踪服务器,用于记录存储服务器的状态信息和客户端的访问记录。该属性指定了 Tracker 服务器监听的端口,客户端和存储服务器需要通过该端口与 Tracker 服务器进行通信。

connect_timeout:连接超时时间,单位为秒。由于网络环境的各异,建立连接所需的时间也会有所差异。该属性设置了客户端与 Tracker 或存储服务器建立连接的超时时间。如果在规定时间内无法建立连接,则会报超时错误。

network_timeout:网络超时时间,单位为秒。一旦连接建立成功,数据传输过程中可能会出现网络延迟或数据包丢失等情况。该属性设置了客户端与 Tracker 或存储服务器进行数据传输的超时时间。如果在规定时间内无法完成数据传输,则会报超时错误。

base_path:存储数据和日志文件的基本路径。FastDFS 是一个分布式文件系统,存储服务器将文件切分为多个块并进行分布式存储。该属性指定了存储服务器存储数据和日志文件的基本路径。在实际使用中,你可以根据需求修改该路径,以适应你的存储环境和文件系统结构。

主要看这里的属性,port = 22122就可以了,
base_path改成我们的基本路径(刚才新建的tracker文件夹)
 

 

②修改 storage.conf
  1. cd /etc/fdfs
  2. vi storage.conf

 先看几个关键属性

 

group_name 属性用于指定当前存储服务器所属的组名称。每个存储服务器都必须属于一个组,以便 Tracker 服务器能够进行正确的文件分发和管理。

当设置了 group_name 属性后,存储服务器会将自己归属于该指定的组,在 Tracker 服务器中也会相应地记录这个组信息。这样,客户端在上传或下载文件时,可以通过组名来指定目标存储服务器,以实现文件的定位和操作。

需要注意的是,如果配置文件中注释或移除了 group_name 属性,表示存储服务器只能通过从 Tracker 服务器获取分配的组名来确定所属组。在这种情况下,你需要在 tracker.conf 中将 use_storage_id 设为 true,并配置正确的 storage_ids.conf 文件,以使 Tracker 能够正确分配组名给存储服务器。

我们不用改记住名字以后眼熟就好

 这个是storage服务端口

 

heart_beat_interval 属性用于设置存储服务器向 Tracker 服务器发送心跳的间隔时间,单位为秒。

心跳是指存储服务器定期向 Tracker 服务器发送状态信息的过程。通过发送心跳,存储服务器向 Tracker 服务器报告自身的运行状态,包括存储容量、可用空间、连接状态等信息。Tracker 服务器根据接收到的心跳信息来监控存储服务器的状态,并作出相应的调度和管理。

根目录(大目录)我们改成我们的

 

  然后看下一个属性

 store_path0 属性指定了存储路径的第一个路径,即索引为 0 的存储路径
改成 /usr/local/fastdfs-6.9.5/base-home/storage

 与5.x版本不同的是6.x版本增加了双ip

用于指定多个跟踪器服务器的位置。下面是对字段含义的解释:

  • tracker_server:这是配置项的名称,用于指定跟踪器服务器的位置。
  • HOST:PORT:这是跟踪器服务器的地址和端口号。HOST 可以是主机名或者 IP 地址。如果有多个服务器,它们可以通过逗号分隔。
  • HOST 的取值可以有不同形式:
    • 如果有两个 IP 地址,一个是内网 IP,一个是外网 IP,那么它们需要用逗号分隔。例如:192.168.2.100,122.244.141.46:22122
    • 如果有两个不同类型的内网 IP 地址,它们也需要用逗号分隔。例如:192.168.1.10,172.17.4.21:22122

在给定的例子中,配置了两个跟踪器服务器:

  • 第一个服务器的地址是 192.168.209.121,端口号是 22122
  • 第二个服务器的地址是 192.168.209.122,端口号是 22122

这些服务器会用于特定的应用程序或服务,以便实现文件跟踪、数据同步等功能。根据实际需求,可以根据需要配置多个跟踪器服务器,以提高系统的可靠性和性能。
 

storage 连接storage server,优先尝试连接内网 IP,失败了再尝试连接外网 IP。

client 向 tracker server 获取 storage server IP,tracker server采用规则如下:

- 外网过来的请求,返回外网 IP;

- 内网过来的请求,返回内网 IP。

 
如果是服务器的话,控制台就能看到一个内网ip一个外网ip,如果是虚拟机的话,需要自己之前设置好过,设置过的虚拟机可以用

ip addr show

来查看比如我的

 可以使用的内网 IP             192.168.189.157             192.168.189.101

所以我设置为

 还有一个属性

 http访问文件的端口,和naginx的保持一致

③client配置修改 

第一个属性,放日志的位置

 改成

 第二个属性

 也是 ttacker的服务器路径,和我们上面的一样,先看到自己的ip,双ip就要一个内网,一个外网,或者两个内网ip

 这个修改完成之后保存。

④我们测试client 


我们启动Tracker服务器

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

我们是用配置文件去启动,不然会使用默认配置,会卡住,因为没有权限创建文件夹,这样启动成功会显示pid就是成功了
 

 也可以查看Tracker 服务器的状态来验证

sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf status

  

 然后启动Storage服务器
 

sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start

这个不会有反应,我们直接验证

sudo /usr/bin/fdfs_monitor /etc/fdfs/client.conf

 

运行 fdfs_upload_file /etc/fdfs/client.conf /usr/local/fastdfs-6.9.5.tar.gz命令来上传文件。其中,/etc/fdfs/client.conf 是客户端配置文件的路径,/usr/local/fastdfs-6.9.5.tar.gz 是要上传的文件路径。(可以修改成其他的)
 

fdfs_upload_file /etc/fdfs/client.conf /usr/local/fastdfs-6.9.5.tar.gz

4.安装Nginx并整合 

Ⅰ、下载安装nginx 

本来还说我虚拟机有个nginx,一看好像不太对,我也重新下一次 

which nginx

 首先,我的openresty是整合了nginx,并且nginx指令也是启动的这个

 我就直接下最新版试试了【免费】nginx-1.25.2.tar.gz资源-CSDN文库
nginx: download
这里可以看最新的版本,然后wegt下载

  1. cd /usr/local
  2. wget http://nginx.org/download/nginx-1.25.2.tar.gz

 

 下载完成之后我们解压
 

tar -zxvf nginx-1.25.2.tar.gz 

 Ⅱ、安装模块

 然后给nginx安装模块
首先下载模块
 

  1. cd /usr/local
  2. mkdir module
  3. cd /usr/local/module
  4. wget https://github.com/happyfish100/fastdfs-nginx-module/archive/refs/heads/master.zip

 然后解压
 

unzip master.zip

将配置文件复制到/etc/fdfs
 

cp /usr/local/module/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs

 然后我们给nginx安装模块

  1. cd /usr/local/nginx-1.25.2
  2. ./configure --add-module=/usr/local/module/fastdfs-nginx-module-master/src

 编译并安装(mke成功了才会执行make install)
 

make && make install

Ⅲ、修改模块的配置文件 

  1. cd /etc/fdfs
  2. vi mod_fastdfs.conf

 我们来看第一个重要属性

 这里我们可以把我们之前的两个都加上

  1. tracker_server = 192.168.189.101:22122
  2. tracker_server = 192.168.189.157:22122

就是我设置的这个内外网(我是两个内网)

不过
load_fdfs_parameters_from_tracker 参数被设置为 true,这意味着 FastDFS 将会从 Tracker 服务器加载相关的参数,其中就包括 tracker_server

这里刚好为

tracker_server=tracker:22122

所以不用管了

url_have_group_name 参数设置为 false 时,FastDFS 访问文件的 URL 将不包含组名,例如 /M00/00/00/xxx

url_have_group_name 参数设置为 true 时,FastDFS 访问文件的 URL 将包含组名,例如 group1/M00/xxx

我们改为true 

 还有个属性

 如果 store_path0 路径不存在,它的值将被设置为 base_path,这是存储节点的基础路径。
我们改成

mod_fastdfs.conf 中的 store_path0的store_path0应该一致的
 

storage.confmod_fastdfs.conf 中的 store_path0 属性不一致时,会导致以下问题:

  1. 存储路径错误:FastDFS 会尝试根据 store_path0 的值去访问相应的存储路径,如果配置不一致,可能会导致 FastDFS 访问错误的路径,无法正确读取或写入文件。

  2. 文件定位错误:FastDFS 根据存储路径来定位和访问存储的文件。如果存储路径不一致,可能会导致文件无法被正确定位,进而引发文件访问错误或丢失。

  3. 配置冲突:store_path0 相关的其他配置项(例如 base_path)也需要保持一致,以避免配置冲突和不一致性。

 Ⅳ、修改nginx配置

然后就可以配置 nginx.conf了

  1. cd /usr/local/nginx-1.25.2/conf
  2. vi nginx.conf

 然后新增server配置(在http里面,每个server要独立,不确定就在在最后一个括号上面)

附: 

1.新建ip地址 

有小伙伴说自己的虚拟机只有一个ip,这个一般是新建虚拟机的时候建的,一般情况下,我们只会新建一个ip,其实我也是,但我有两个,为什么呢。我在下面讲一下。 

Ⅰ、找到配置文件 

cd /etc/sysconfig/network-scripts/

 我们到这个目录下面 
使用 查看ip的指令我们可以找到我们的端口

ip addr


如上我的是ens33
 

所以我要打开 ifcfg-ens33 

 我我只设置了一个ip为什么之前有两个ip呢
因为BOOTPROTO 设置为 dhcp,这意味着网络接口会尝试从 DHCP 服务器获取 IP 地址。如果 DHCP 服务器可用,网络接口将分配一个可用的 IP 地址和其他相关配置。
这个ip有时候会变化,比如接下来我们添加ip。

 

这样我们就添加了一个ip 
这个是网络配置文件中的别名(alias)功能
我们可以这样添加多个IP
保存之后刷新网络
 

systemctl restart network

我们再去测试,首先,这个次要ip不能用来ssh连接,要额外设置,或者你的ssh连接没有给限制
所以验证我一般情况是去访问已有的服务
比如 http://192.168.189.102:8848/nacos 能够打开就是没有问题
至此就是设置成功了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/201195
推荐阅读
相关标签
  

闽ICP备14008679号