欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
简介
 
FastDFS是什么?我们这里可以看一下度娘的解释。FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。我这里使用服务器环境是centos7
 
注意:FastDFS只能上传500MB的小文件
 
FastDFS角色简介
 
tracker:跟踪者,负责调度存储服务。
 
storage:用于文件存储。
 
client:调用tracker
 
集群示例图
 
FastDFS单节点安装
 
第一步 安装相关工具
 
如果已经安装vim与wget可以跳过这一步
 
yum -y install  vim wget unzip
 
-y :不经过询问直接同意所有操作
 
vim : linux上面一个好的文本编辑软件
 
wget : linux上传一个文件下载工具
 
第二步 安装相关依赖
 
yum install -y gcc-c++ perl
 
第三步 安装libfastcommon
 
大家可以直接到github上面找的到ibfastcommon。这里为了大家方便查找。我已经把把链接给大家整理好了。
 
happyfish100/libfastcommon
 
​github.com/happyfish100/libfastcommon
 
这里大家可以先下载到本地,然后再传至服务器上面。这里我使用的是xftp。具体操不在这里就不相信说了。
 
下载下来的是zip格式压缩包,然后,我们解压zip
 
unzip libfastcommon-master.zip
 
进入到刚刚解压的文件里面
 
cd libfastcommon-master/
 
进行编译安装
 
./make.sh && ./make.sh install
 
如上就是安装成功
 
第四步 安装FastDFS
 
同样这里我用的也是github上面的FastDFS。为此,我已经帮大家把相关的链接整理到下方了
 
happyfish100/fastdfs
 
​github.com/happyfish100/fastdfs
 
这里可以使用像上面ibfastcommon一样的方式,先下载到自己的电脑上面,再上传至服务器。
 
下面我们先进行解压
 
unzip fastdfs-master.zip
 
编译安装
 
./make.sh && ./make.sh install
 
安装成功如上图
 
第五步 修改配置文件
 
切换到配置文件目录下
 
cd /etc/fdfs/
 
查看所有配置文件
 
使用ls命令就行了
 
去除所有的.sample后缀
 
mv client.conf.sample client.conf
 
mv storage.conf.sample storage.conf
 
mv storage_ids.conf.sample storage_ids.conf
 
mv tracker.conf.sample tracker.conf
 
我们再次使用ls命令查看
 
可以看到我们已经去除了所有的.sample后缀
 
下一步,创建文件夹,分别创建client,storage,tracker文件夹
 
mkdir -p /home/software/fastfdfs/fdfa/client
 
mkdir -p /home/software/fastfdfs/fdfa/storage
 
mkdir -p /home/software/fastfdfs/fdfa/tracker
 
下面我们开始配置文件修改,首先修改的是clietn.conf,使用vim编辑器进行文件的编辑
 
vim client.conf
 
使用 :set number 显示行数
 
修改第十行,确定日志文件文件日志,这里用我们刚刚创建client文件夹路径
 
base_path=base_path=/home/software/fastfdfs/fdfa/client
 
修改第14 行,tracker的地址与端口,这里我使用的是虚拟机,而且我的tracker等会和我的storage在同一台服务器启动,我的是192.168.223.19。大家这里根据实际情况修改
 
tracker_server=192.168.223.19:22122
 
这里大家大家记得保存修改
 
下面我们修改storage.conf。同上是用vim进行修改
 
修改第41行 storage基础路径,上面我们已经创建了这个目录
 
base_path=/home/software/fastfdfs/fdfa/storage
 
修改第110行,storage路径。storage.conf已经说了如果这个路径不存在,会依照base_path.为了不出意外,我们配置一下这个路径
 
 store_path0=/home/software/fastfdfs/fdfa/storage
 
修改第119行 ,配置tracker的IP地址与端口。至于如何填写这个地址,上面配置client.conf的时候,我们就已经说过了。
 
tracker_server=192.168.223.19:22122
 
现在修改tracker.conf文件
 
修改第22行,修改tracker的基础路径。这个路径的文件夹我们刚刚在上面已经创建过了
 
base_path=/home/software/fastfdfs/fdfa/tracker
 
修改第54行 归属组设置
 
store_group=group1
 
第六步 启动tracker与storage
 
启动tracker
 
fdfs_trackerd /etc/fdfs/tracker.conf start
 
启动storage
 
fdfs_storaged /etc/fdfs/storage.conf start
 
测试是否启动成功,我们尝试上传文件。我的root文件夹下有一张图片
 
fdfs_test /etc/fdfs/client.conf upload /root/9d545aa4d2f1ffbecf5567ae71f4e4fb.jpg
 
上传成功如图所示
 
第七步 安装nginx访问图片
 
之前我写过一篇nginx安装与配置的文章。大家有兴趣的可以去阅读以下。这里我们安装的时候可能有所不同,为了大家可以结合fastdfs使用。我这里单独再说一下nginx的安装。
 
首先安装依赖
 
yum -y install gcc-c++ zlib-devel pcre-devel
 
下载nginx安装包
 
wget http://nginx.org/download/nginx-1.14.0.tar.gz
 
解压安装包
 
tar zxvf nginx-1.14.0.tar.gz
 
下载nginx的fastdfs模块,这里我已经帮大家把这个项目github地址整理好了。
 
happyfish100/fastdfs-nginx-module
 
​github.com/happyfish100/fastdfs-nginx-module
 
这里我们可以先下载到自己电脑上,再上传服务器。
 
进行解压
 
unzip fastdfs-nginx-module-master.zip
 
创建nginx安装目录
 
mkdir -p /home/software/nginx
 
切换到nginx压缩包的解压目录里面去
 
cd nginx-1.14.0
 
进行配置检测并且添加模块
 
./configure --prefix=/home/software/nginx --add-module=/home/software/fastdfs-nginx-module-master/src
 
--prefix : 我们刚刚创建的nginx的安装目录
 
--add-module:解压后模块所在目录,记得要加上src
 
成功
 
编译并安装
 
make && make install
 
复制配置文件至/etc/fdfs里面去
 
切换至fastdfs的解压包里面去
 
cd /home/software/fastfdfs/fastdfs-master
 
进行文件的复制
 
cp conf/http.conf /etc/fdfs/
 
cp conf/mime.types /etc/fdfs/
 
切换至fastdfs-nginx-module的解压目录下面
 
cd /home/software/fastdfs-nginx-module-master
 
进行配置文件的复制
 
cp src/mod_fastdfs.conf /etc/fdfs/
 
修改/etc/fdfs下面的mod_fastdfs.conf配置文件
 
vim /etc/fdfs/mod_fastdfs.conf
 
修改 40行,更改tracker的ip地址与端口
 
tracker_server=192.168.223.19:22122
 
修改53行 url地址中是否包含组名
 
url_have_group_name = true
 
修改62行 storage所在目录
 
store_path0=/home/software/fastfdfs/fdfa/storage
 
保存修改
 
进行nginx配置文件的修改,首先切换到nginx的安装目录下面
 
cd /home/software/nginx
 
进行nginx.conf的修改,找到44行,注释掉44 45行,下面添加一行
 
ngx_fastdfs_module;
 
启动nginx,切换到nginx安装目录下的sbin目录下面去,先进行配置文件的检验。如果配置检验没问题。再启动nginx
 
切换到sbin目录
 
cd /home/software/nginx/sbin/
 
配置文件检测
 
./nginx -t -c /home/software/nginx/conf/nginx.conf
 
显示 is ok没有任何问题,现在启动nginx
 
./nginx
 
依照上面的方式,我们上传一张图片。并进行访问
 
测试是否启动成功,我们尝试上传文件。我的root文件夹下有一张图片
 
fdfs_test /etc/fdfs/client.conf upload /root/9d545aa4d2f1ffbecf5567ae71f4e4fb.jpg
 
上传成功,访问下面的地址。我这里关闭了防火墙。如果我们的服务器有防火墙,记得打开80端口
 
我们访问地址,图片已经出来,说明我们可以正常访问。
 
FastDFS多节点安装
 
第一步 规定storage与tracker服务器
 
这里我用的是虚拟机,我这里在四台虚拟机上面都安装了单节点的fastdfs。我的四台虚拟机的ip如下。
 
192.168.223.15
 
192.168.223.16
 
192.168.223.17
 
192.168.223.18
 
192.168.223.15 所属组:group1 角色:storage,tracker1
 
192.168.223.16 所属组:group1 角色:storage
 
192.168.223.17 所属组:group2 角色:storage,tracker2
 
192.168.223.18 所属组:group2 角色:storage
 
第二步 修改配置文件
 
由于FastDFS单节点使用的组都是group1.所以192.168.223.15这台机器上的配置不需要做任意修改。所以我们需要修改的地方其实是其他三台服务器。下面我会逐个说明如何改。
 
首先我们需要改的是192.168.223.16。由上面的分配我们可以知道。他们都是group1,所以我们只需要把tracker的ip指向192.168.223.15 详细的修改如下。首先我们需要进入到192.168.223.16的/etc/fdfs的目录下面。这一步我们做了很多遍。这里就不演示了。接下来进行文件的修改
 
修改client.conf 第14行
 
tracker_server=192.168.223.15:22122
 
修改 storage.conf 第119行
 
tracker_server=192.168.223.15:22122
 
修改 mod_fastdfs.conf 第40行
 
tracker_server=192.168.223.15:22122
 
接下修改的 192.168.223.17这个服务器。由上面的分配来看,它的归属组是group2。它的tracker是192.168.223.17。现在我们开始修改
 
修改client.conf 第14行
 
tracker_server=192.168.223.17:22122
 
修改 storage.conf 第11行
 
group_name=group2
 
修改第 119行
 
tracker_server=192.168.223.17:22122
 
修改 mod_fastdfs.conf 第40行
 
tracker_server=192.168.223.17:22122
 
修改第 47行
 
group_name=group2
 
ip为192.168.223.18 像 192.168.223.17一样修改。这样我们就完成了所有配置文件的修改
 
第三步 关闭,重启服务
 
首先我们关闭所有服务器的storage服务,tracker服务。首先查找进程然后关闭
 
ps -ef | grep fdfs
 
root后面的字段就是pid。由上面可以知道。我们的两个pid是53946,53967,现在我们把这两个进程kill掉
 
kill -9 53946
 
kill -9 53967
 
其他三台服务器也是这样做。
 
现在按照单节的方式启动。记住不是所有的服务器都要启动。storage与tracker。
 
192.168.223.15 启动storage与tracker
 
192.168.223.16 启动storage
 
192.168.223.17 启动storage与tracker
 
192.168.223.18 启动storage
 
重启nginx服务,启动方式,先进入到nginx安装目录下的sbin目录,执行重启命令
 
./nginx -s reload
 
第四步 测试
 
我们在192.168.223.16 上传一张图片,然后用192.168.223.15的ip访问。因为同一个组的storage会进行文件同步
 
这里可以看到上传后得到的url是192.168.223.15服务器上面的。我们用ip 192.168.223.16 与 192.168.223.15 都访问一遍
 
可见都是可以访问的到的。到此我们就成功的进行了FastDFS的搭建,大家如果在实际操作中遇到了什么问题,可在评论区里留言

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h63305.shtml