赞
踩
目录
Ⅱ -2、wget下载 libfastcommon到指定路径下
Ⅶ、更换版本时卸载 libfastcommon方法(不是现在需要,如果版本不兼容,想换版本使用)
注:因为用的是 fastdfs-6.9.5 ,所以应该下载 libfastcommon-1.0.67,但是截图是libfastcommon-1.0.69(因为我一开始安装有点问题)
yum install -y gcc gcc-c++
上面这个应该是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)
如果可以去git仓库可以看一下最新版是多少(不能去的话安装指令也用不了)
发现最新版本是1.0.69-1之后,我们安装1.0.69
- cd /usr/local
- wget https://github.com/happyfish100/libfastcommon/archive/V1.0.69.tar.gz
(其实这一步我建立不了SSL连接,所以我直接去了仓库下载了并且上传了包到上面)
注:下面指令我改成1.0.67版本的了,但是截图没改还请包容
- cd /usr/local
- tar -zxvf libfastcommon-1.0.67.tar.gz
- cd /usr/local/libfastcommon-1.0.69
yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget
- cd /usr/local/libfastcommon-1.0.67
- ./make.sh
下面是成功的样子
还有一步
./make.sh install
- cd /usr/local/libfastcommon-1.0.67
- yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget
/usr/local/libfastcommon-1.0.67
进入目录(之前make过才叫安装了,只是下载解压,它还是源代码,不算安装)
./make.sh clean
然后就可以从第一步开始选择安其他版本的
我之前是安装5.x版本安装,走到编译时出现了
网上教程都是说libfastcommon有问题,我也换了好几个版本,还下了master版本,依旧不行,后面找到了还需要安装这个。
【免费】libserverframe-1.1.26.tar.gz(对应fastdfs-6.9.5.tar.gz)资源-CSDN文库
下载之后拖入/usr/local
- cd /usr/local
- wget https://codeload.github.com/happyfish100/libserverframe/tar.gz/V1.1.26
下载之后的包名应该辨识度很低,请改为 libserverframe-1.1.26.tar.gz
(下载之后应该是V1.1.26,这一步我省略了,所以没有验证,根据经验应该是这个名字)
- cd /usr/local
- tar -zxvf libserverframe-1.1.26.tar.gz
- cd /usr/local/libserverframe-1.1.26
- ./make.sh
./make.sh install
这两个都安装好了,才能安装Fasdtdfs
- cd /usr/local/libserverframe-1.1.26
- ./make.sh clean
sudo yum install -y libevent libevent-devel libwebp libwebp-devel zlib zlib-devel pcre pcre-devel openssl openssl-devel
【免费】fastdfs-6.9.5.tar.gz资源-CSDN文库
- cd /usr/local
- wget https://github.com/happyfish100/fastdfs/archive/V6.9.5.tar.gz
(我上午还不能指令下,下午就可以了)
下载下来名字没有辨识度,建议改一下,不然下次不知道是什么包
- cd /usr/local
- tar -zxvf fastdfs-6.9.5.tar.gz
- cd /usr/local/fastdfs-6.9.5
- ./make.sh
(找了一下午方法我可是编译成功了 ,记得前面两个东西都要安装好)
./make.sh install
- cd /usr/local/fastdfs-6.9.5
- ./setup.sh /etc/fdfs
查看结果
ls -l /etc/fdfs/
client.conf
:客户端配置文件。http.conf
:HTTP 访问的相关配置文件。mime.types
:MIME 类型映射配置文件。storage.conf
:存储服务器配置文件。storage_ids.conf
:存储服务器 ID 配置文件。tracker.conf
:跟踪服务器配置文件。首先,新建几个路径用于储存数据,我是喜欢存在安装路径下面自己新建路径
- mkdir /usr/local/fastdfs-6.9.5/base-home
- mkdir /usr/local/fastdfs-6.9.5/base-home/tracker
- mkdir /usr/local/fastdfs-6.9.5/base-home/storage
- mkdir /usr/local/fastdfs-6.9.5/base-home/client
然后先修改需要修改最少的
- /etc/fdfs
- vi tracker.conf
port
:Tracker 服务器监听的端口号。Tracker 服务器是 FastDFS 的跟踪服务器,用于记录存储服务器的状态信息和客户端的访问记录。该属性指定了 Tracker 服务器监听的端口,客户端和存储服务器需要通过该端口与 Tracker 服务器进行通信。
connect_timeout
:连接超时时间,单位为秒。由于网络环境的各异,建立连接所需的时间也会有所差异。该属性设置了客户端与 Tracker 或存储服务器建立连接的超时时间。如果在规定时间内无法建立连接,则会报超时错误。
network_timeout
:网络超时时间,单位为秒。一旦连接建立成功,数据传输过程中可能会出现网络延迟或数据包丢失等情况。该属性设置了客户端与 Tracker 或存储服务器进行数据传输的超时时间。如果在规定时间内无法完成数据传输,则会报超时错误。
base_path
:存储数据和日志文件的基本路径。FastDFS 是一个分布式文件系统,存储服务器将文件切分为多个块并进行分布式存储。该属性指定了存储服务器存储数据和日志文件的基本路径。在实际使用中,你可以根据需求修改该路径,以适应你的存储环境和文件系统结构。
主要看这里的属性,port = 22122就可以了,
base_path改成我们的基本路径(刚才新建的tracker文件夹)
- cd /etc/fdfs
- 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
的取值可以有不同形式:
192.168.2.100,122.244.141.46:22122
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的保持一致
第一个属性,放日志的位置
改成
第二个属性
也是 ttacker的服务器路径,和我们上面的一样,先看到自己的ip,双ip就要一个内网,一个外网,或者两个内网ip
这个修改完成之后保存。
我们启动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
本来还说我虚拟机有个nginx,一看好像不太对,我也重新下一次
which nginx
首先,我的openresty是整合了nginx,并且nginx指令也是启动的这个
我就直接下最新版试试了【免费】nginx-1.25.2.tar.gz资源-CSDN文库
nginx: download
这里可以看最新的版本,然后wegt下载
- cd /usr/local
- wget http://nginx.org/download/nginx-1.25.2.tar.gz
下载完成之后我们解压
tar -zxvf nginx-1.25.2.tar.gz
然后给nginx安装模块
首先下载模块
- cd /usr/local
- mkdir module
- cd /usr/local/module
- 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安装模块
- cd /usr/local/nginx-1.25.2
- ./configure --add-module=/usr/local/module/fastdfs-nginx-module-master/src
编译并安装(mke成功了才会执行make install)
make && make install
- cd /etc/fdfs
- vi mod_fastdfs.conf
我们来看第一个重要属性
这里我们可以把我们之前的两个都加上
- tracker_server = 192.168.189.101:22122
- 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.conf
和 mod_fastdfs.conf
中的 store_path0
属性不一致时,会导致以下问题:
存储路径错误:FastDFS 会尝试根据 store_path0
的值去访问相应的存储路径,如果配置不一致,可能会导致 FastDFS 访问错误的路径,无法正确读取或写入文件。
文件定位错误:FastDFS 根据存储路径来定位和访问存储的文件。如果存储路径不一致,可能会导致文件无法被正确定位,进而引发文件访问错误或丢失。
配置冲突:store_path0
相关的其他配置项(例如 base_path
)也需要保持一致,以避免配置冲突和不一致性。
然后就可以配置 nginx.conf了
- cd /usr/local/nginx-1.25.2/conf
- vi nginx.conf
然后新增server配置(在http里面,每个server要独立,不确定就在在最后一个括号上面)
有小伙伴说自己的虚拟机只有一个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 能够打开就是没有问题
至此就是设置成功了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。