Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >分布式文件存储系统fastdfs安装教程

分布式文件存储系统fastdfs安装教程

作者头像
萌萌哒的瓤瓤
发布于 2021-01-13 09:51:36
发布于 2021-01-13 09:51:36
70500
代码可运行
举报
运行总次数:0
代码可运行

1.将压缩包上传到opt目录下

2.解压该文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /opt
tar -zxvf FastDFS_v5.05.tar.gz 

3.编译文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd FastDFS
./make.sh

如果出现下面的错误,那么我们需要先安装这个环境libfastcommon

3.1安装libfastcommon

3.2上传文件到/usr/local目录下并解压

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tar -zxvf libfastcommonV1.0.7.tar.gz

3.3进入解压好的文件夹下,开始编译

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd libfastcommon-1.0.7
./make.sh

如果出现无法识别./make.sh,那么运行运行下面的代码即可

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget

之后你就可以通过./make.sh命令进行编译了

3.4编译并安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./make.sh install

这里我们可以看到他是默认将这个东西安装到/usr/lib64目录下的,但是我们之后Fastdfs程序默认是引用/usr/lib目录下的文件,所以我们需要将该目录下的libfastcommon.so文件赋值粘贴到/usr/lib目录下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cp /usr/lib64/libfastcommon.so /usr/lib

4.重新编译安装我们的文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./make.sh
./make.sh install

这样就算编译成功了。

这样就算安装成功了。

5.将conf配置目录下的所有文件都拷贝到/etc/fdfs

这时候我们先去查看一下是否有该目录,我们检查之后发现是没有的

但是当我们选择去创建该目录的时候会发现该目录其实已经存在了,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir /etc/fdfs

我们可以进入该目录去检验一下,可以发现我们是可以进入该目录的,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd fdfs

这就说明我们在安装Fastdfs的时候,他就已经默认帮我们将它创建了,知识这个目录是隐藏的

所以我们可以直接将conf目录下的所有文件全部拷贝到/etc/fdfs目录下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cp * /etc/fdfs

6.配置/etc/fdfs目录下的tracker.conf,该文件主要就是设置软件数据以及日志目录

我们需要先创建一个目录来存放fastdfs的数据以及日志

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir /opt/fastdfs
cd /etc/fdfs
vi tracker.conf

将这个目录修改成我们刚才创建的那个存放数据以及日志的目录

之后保存退出即可

7.配置storage.conf文件,该文件主要就是存储文件

我们主要就是修改下面三处地方

这一处就是我们数据和日志存储的目录

这一处使我们文件将来存储的位置,我们可以看到这里面可以设置多个文件存储位置

这里就是修改成刚才部署tracker的那台服务器的IP就行了,因为我们这里tracker和storage是部署在同一台服务器上的,所以我们就直接用本机的IP即可,因为我们是阿里云的服务器,所以等会我们需要去配置防火墙以及开通安全组规则,否则这个22122端口是无法访问开启的

配置防火墙端口号:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
service firewalld start
firewall-cmd --zone=public --permanent --add-port=22122/tcp
firewall-cmd --reload
firewall-cmd --list-all 

开通安全组:

记得入方向和出方向都需要配置

8.配置fdfs_storaged和fdfs_trackerd的启动服务

先创建/usr/local/fdfs,再将安装目录下的两个服务复制到/usr/local/fdfs目录下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir /usr/local/fdfs
cd /opt/FastDFS
cp stop.sh /usr/local/fdfs
cp restart.sh /usr/local/fdfs

之后我们就可以去/etc/init.d目录下修改fdfs_storaged和fdfs_trackerd的启动服务,这里由于我们在安装fastdfs的过程中就已经帮我们安装了fdfs_storaged和fdfs_trackerd的启动服务了,所以我们只需要修改他们的配置即可

这是fdfs_trackerd文件需要修改的地方

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /etc/init.d
vi fdfs_trackerd

这是fdfs_storaged需要修改的地方

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /etc/init.d
vi fdfs_storaged

将服务添加到系统服务中,并且启动

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chkconfig --add fdfs_storaged 
chkconfig --add fdfs_trackerd 
service fdfs_storaged start
service fdfs_trackerd start
ps -ef|grep fdfs

如果能够看到下面的页面就说明fdfs服务就已经成功启动了

9.测试文件上传服务

Fastdfs有一个专门让我们用来测试的目录,我们可以通过修改该目录来测试我们的文件服务是否真的成功 首先修改该文件etc/fdfs/client.conf的以下配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vim /etc/fdfs/client.conf

这里我们通过下面的命令来上传图片测试一下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/usr/bin/fdfs_test  /etc/fdfs/client.conf  upload test.jpg

/usr/bin/fdfs_test 是fastdfs自带的一个测试demo /etc/fdfs/client.conf 是我们刚才配置的测试的配置,命令会读取这个配置文件的信息 test.jpg 代表你要上传的文件名,是当前目录下的文件

但是这里报错了,一看就知道是端口23000没有开启,所以我们需要将这个端口开启。步骤和上面开启22122端口的步骤一样,开启端口之后,我们重新测试一次,发现我们的文件就已经成功上传了

并且这里他还给我们返回了一个图片的URL。但是目前这个URL是访问不了的,因为我的服务器还没有添加Nginx进行反向代理,这个之后会加进去的,但是我们可以通过进入相应的目录来进行查看文件是否存在。查看之后发现文件的确已经存储进来了。到这里fastdfs的安装就已经基本完成了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/11/07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验