看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了

由于FastDFS集群搭建非常非常复杂,所以对于初期学习FastDFS的同学来说,搭建个最简单(单机版)的作为入门更为实际一些。一个最简单的FastDFS图片服务器的架构如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第1张图片
那么如何来搭建一个最简单的FastDFS图片服务器呢?本文就来教你搭建,如有讲得有误的地方,还请指出,大家可以一起来讨论。

搭建虚拟环境

FastDFS需要在Linux系统上安装,但我们一般使用的都是Windows系统,所以就需要有虚拟环境了,在这里你可以使用VMware Workstation 12 Pro创建一个虚拟机,例如taotao-image-server。

至于如何使用VMware Workstation 12 Pro搭建虚拟环境,还请参考我的《Linux入门第三讲——VMware Workstation 12 Pro安装CentOS-7.6》这篇博客进行学习。

设置固定IP地址且要保证能上网

大家可以参考我的《Linux入门番外篇——VMware虚拟机中Linux/CentOS 7.6设置固定IP地址》这篇博客进行学习。在此并不过多赘述。

安装vim命令

之所以安装vim命令是因为在安装它的同时会自动帮我们安装perl,而perl在进行编译安装时是必须要有的。

安装vim的命令是yum -y install vim-enhanced,如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第2张图片

安装gcc

使用yum -y install make cmake gcc gcc-c++命令进行安装即可,如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第3张图片

上传安装文件到Linux服务器

为了便于管理,我们在Linux服务器上新建一个/usr/local/software目录,专门用于存放安装包,如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第4张图片
下面我们把需要用到的安装包都上传到/usr/local/software目录下,这里我们可以使用Xshell和Xftp相结合来方便的进行上传下载操作,要是你不会,请参考我的《Linux入门番外篇——Xshell利用Xftp来方便地进行文件的上传下载操作》这篇博客进行学习。

不管你是搭建FastDFS集群,还是只是搭建一个最简单的FastDFS图片服务器,你都需要用到多个安装包,我粗略整理了一下这些安装包,共有下面几个。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第5张图片
以上这些安装包怎么获取呢?为了让大家省心,可以直接从我给出的百度网盘链接地址中进行下载。我是不是很贴心!

链接:https://pan.baidu.com/s/1_Y6bAsZ9Zx9kv2sucmn_hg,提取码:p2av

上传完我们所需的安装包之后,再查看一下/usr/local/software目录是不是真的上传上去了。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第6张图片

安装zip和unzip命令

由于解压.zip结尾的文件需要用到unzip命令,因此我们还需要进行安装,安装命令是yum install zip unzip
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第7张图片

安装libfastcommon

第一步,首先在/usr/local目录下新建一个fast目录,然后将libfastcommon-master.zip压缩文件解压到该目录下。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第8张图片
第二步,切到/usr/local/fast/libfastcommon-master目录下,可以看到该目录下有如下一些内容。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第9张图片
第三步,执行./make.sh命令进行编译,然后再执行./make.sh install命令进行安装,照着做就完了。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第10张图片

创建软链接

FastDFS主程序设置的目录为/usr/local/lib/,所以我们需要创建/usr/lib64/目录下的一些核心执行程序的软连接文件。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第11张图片

安装FastDFS

第一步,切到/usr/local/software目录下,解压FastDFS_v5.05.tar.gz文件到/usr/local/fast目录中。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第12张图片
第二步,切到/usr/local/fast/FastDFS目录下,然后执行./make.sh命令进行编译,接着再执行./make.sh install命令进行安装,照着做就完了。这里,图我就不截了,因为不好截。

安装完之后,服务脚本的位置如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第13张图片
配置文件的位置如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第14张图片
FastDFS一系列执行脚本如下,可以看到有上传文件脚本、下载文件脚本等等。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第15张图片
第三步,因为FastDFS服务脚本设置的bin目录为/usr/local/bin/,但是实际上我们安装在了/usr/bin/目录下面,所以我们需要修改FastDFS配置文件中的路径,也就是说需要修改两个配置文件,一个配置文件是fdfs_storaged,另外一个配置文件是fdfs_trackerd。

那么怎么修改这两个配置文件呢?首先使用vim /etc/init.d/fdfs_storaged命令进入编辑模式,然后直接输入:,此时光标会定位到最后一行,接着在:后输入%s+/usr/local/bin+/usr/bin,如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第16张图片
输入完之后回车,会提示修改了7处。为了确保所有的/usr/local/bin都被替换了,我们可以再打开该文件确认一下。

接下来,我们来修改第二个配置文件,使用vim /etc/init.d/fdfs_trackerd命令进入编辑模式,接着按照上面那样输入:%s+/usr/local/bin+/usr/bin并按回车。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第17张图片
这时,同样会提醒我们修改了7处,如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第18张图片

配置跟踪器

第一步,切到/etc/fdfs目录下,然后复制一份tracker.conf.sample并重命名为tracker.conf,如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第19张图片
第二步,使用vim /etc/fdfs/tracker.conf进入编辑模式,然后修改base_path的值为/fastdfs/tracker,如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第20张图片
第三步,我们在以上tracker.conf配置文件中配置的/fastdfs/tracker目录目前是不存在的,因此我们还需要创建该目录。
在这里插入图片描述
第四步,配置防火墙,以打开tracker使用的22122端口。要想达到该目的,还得输入蛮多的一些命令,我们的记忆力又不好,也记不住这些许命令,还不如直接关闭防火墙并且设置开机也不启动。

那么如何在Linux/CentOS 7.6系统中设置直接关闭防火墙并且开机也不启动呢?很简单,你只须输入如下两条命令即可。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第21张图片
第五步,在启动tracker之前,/fastdfs/tracker目录下是没有任何文件的,如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第22张图片
使用/etc/init.d/fdfs_trackerd start命令启动tracker之后,可以看到这个目录下多了data和logs这两个目录,如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第23张图片
第六步,设置tracker开机自启动,在rc.local文件中添加/etc/init.d/fdfs_trackerd start这一行内容,如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第24张图片
这里有一点一定要引起大家的注意,由于我本人在虚拟机上安装的是Linux/CentOS 7.6这个系统,而正是在Linux/CentOS 7.6这个系统中,rc.local文件的权限被降低了,所以我们需要使用chmod +x /etc/rc.d/rc.local命令给该文件增加可执行的权限。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第25张图片
如果你要是不这样做的话,那么当设备启动时,tracker、storage以及Nginx都不会自动启动,这样还须手动启动它们,难道你不觉得这样超级麻烦吗?

当然了,要是你虚拟机安装的CentOS 6.x系统,以上就当我白说,你没必要给rc.local文件增加可执行的权限,似乎本身就具备了。

配置FastDFS存储

第一步,切到/etc/fdfs目录下,然后复制一份storage.conf.sample文件并重命名为storage.conf,如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第26张图片
第二步,修改storage.conf文件,我们使用vim /etc/fdfs/storage.conf命令进入编辑模式,对以下四项进行修改,其中192.168.81.132是我本人的虚拟机的IP地址,大家需要根据自己虚拟机的IP地址自行设置。

base_path=/fastdfs/storage
store_path0=/fastdfs/storage
tracker_server=192.168.81.132:22122
http.server_port=8888

第三步,我们在以上storage.conf配置文件中配置的/fastdfs/storage目录目前是不存在的,因此我们还需要创建该目录。
在这里插入图片描述
第四步,配置防火墙,允许外界访问storage的默认23000端口。由于我们在Linux/CentOS 7.6系统中设置了直接关闭防火墙并且开机也不启动,所以,外界是可以访问storage的默认端口的。

第五步,在启动storage之前,/fastdbf/storage目录下是没有任何文件的,如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第27张图片
使用/etc/init.d/fdfs_storaged start命令启动storage之后,可以发现/fastdfs/storage目录下多了data和logs这两个目录,如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第28张图片
第六步,查看一下FastDFS tracker和storage是否启动成功了,当看到如下图所示信息时说明都启动成功了。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第29张图片
第七步,我们进入到/fastdfs/storage/data/目录下,可以看到两级共256×256个目录,每级都是从00到FF,下图只是列出了第一级的目录,每个目录点进去都还有00到FF共256个目录。
在这里插入图片描述
第八步,设置storage开机自启动,在rc.local文件中添加/etc/init.d/fdfs_storaged start这一行内容,如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第30张图片

测试图片上传

第一步,切到/etc/fdfs目录下,然后复制一份client.conf.sample并重命名为client.conf,如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第31张图片
第二步,使用vim /etc/fdfs/client.conf命令进入编辑模式并修改如下两项内容,如下所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第32张图片
第三步,使用cd /usr/bin/ && ls | grep fdfs命令找到可执行脚本文件的位置,并且使用上传文件脚本进行文件的上传。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第33张图片
下面我使用fdfs_upload_file脚本文件进行文件上传的操作,如下图所示,可以看到/usr/local/software目录下面的1.jpg图片上传成功了,且返回了该图片的保存位置。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第34张图片
我们进入到group1/M00/00/00目录下,可以清楚地看到之前所上传的图片。
在这里插入图片描述

FastDFS与Nginx相结合

第一步,安装Nginx服务器,至于如何安装,请参考我的《淘淘商城系列——nginx基础学习》这篇博客进行学习。

温馨提示:由于我们已经安装过gcc的环境了,所以这儿就不需要重复安装了。

第二步,安装fastdfs-nginxmodule_v1.16.tar.gz(FastDFS与Nginx相结合的模块安装包),你可能会问,怎样安装该包啊?很简单,进入/usr/local/software目录并解压该安装包到/usr/local/fast目录下,如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第35张图片
第三步,切到/usr/local/fast目录下,可以看到解压好的fastdfs-nginx-module目录,然后进入到fastdfs-nginx-module/src目录下,可以看到有一个config文件。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第36张图片
接着修改该config文件,我们把该文件第四行配置中的/usr/local/include都改为/usr/include,共修改两处。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第37张图片
第四步,把FastDFS与Nginx进行结合,由于我们刚才安装过Nginx了,因此在/usr/local目录下已经生成了一个nginx目录,如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第38张图片
为了将Nginx与FastDFS相结合,我们先把这个nginx目录删除掉,如下图所示,可以看到已经没有这个nginx目录了。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第39张图片
然后进入到nginx-1.8.1目录下并执行如下配置以及编译安装,如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第40张图片
接着复制fastdfs-nginx-module/src目录下的mod_fastdfs.conf配置文件到/etc/fdfs目录中,如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第41张图片
马上切到/etc/fdfs目录下,修改我们刚刚复制过来的mod_fastdfs.conf配置文件,需要修改的项如下所示,其中第一项是超时时长,第三项是允许外界通过http方式访问资源。

connect_timeout=10
tracker_server=192.168.81.132:22122
url_have_group_name=true
store_path0=/fastdfs/storage

紧接着,复制FastDFS/conf目录中的2个文件到/etc/fdfs目录下,如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第42张图片
再接着,在/fastdfs/storage文件存储目录下创建一个软链接,将其链接到实际存放数据的目录中,如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第43张图片
接下来,我们需要进入到/usr/local/nginx/conf目录下修改nginx.conf文件,如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第44张图片
修改的内容如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第45张图片
最后,设置Nginx服务器开机自启动,这样下次重启设备之后,tracker、storage以及Nginx都自动启动了,此时直接就可以使用服务了。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第46张图片
那么如何启动Nginx服务器呢?很简单,使用nginx命令就行了,如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第47张图片
第五步,在通过8888端口访问上传的文件(有可能是图片)之前,记得配置下防火墙,允许外界访问8888这个端口。由于我们在Linux/CentOS 7.6系统中设置了直接关闭防火墙并且开机也不启动,所以,外界是可以访问这个端口的。

第六步,现在我们便可以通过http的方式访问我们刚才上传的图片了(我们刚才上传图片返回的地址是group1/M00/00/00/wKhRhF8KR1OAFLrKAAD0wxR-OuM573.jpg),如下图所示。
看了这篇文章,请你不要再说我不会搭建最简单的FastDFS图片服务器了_第48张图片
至此,一个最简单的FastDFS图片服务器便搭建完毕了!!!可真他妈的不简单。

你可能感兴趣的:(FastDFS)