从零开始搭建FastDFS专题

参考链接

CentOS7搭建FastDFS V5.11分布式文件系统及Java整合详细过程(一) - CSDN博客

CentOS 7 安装配置分布式文件系统 FastDFS 5.1.1

最近有个想法搭建一个文件服务器,因为之前都是用人家已经搭建好的服务。自己对这一块会使用,但是很多地方都糊里糊涂的,想通过从零开始,了解这一块。

详细介绍

FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。

存储节点存储文件,完成文件管理的所有功能:存储、同步和提供存取接口,FastDFS同时对文件的meta data进行管理。所谓文件的meta data就是文件的相关属性,以键值对(key value pair)方式表示,如:width=1024,其中的key为width,value为1024。文件meta data是文件属性列表,可以包含多个键值对。

FastDFS系统结构如下图所示: 

从零开始搭建FastDFS专题_第1张图片

跟踪器和存储节点都可以由一台多台服务器构成。跟踪器和存储节点中的服务器均可以随时增加或下线而不会影响线上服务。其中跟踪器中的所有服务器都是对等的,可以根据服务器的压力情况随时增加或减少。

为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式。存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷 的文件容量累加就是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起 到了冗余备份和负载均衡的作用。

在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。

当存储空间不足或即将耗尽时,可以动态添加卷。只需要增加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。 

FastDFS中的文件标识分为两个部分:卷名和文件名,者缺一不可。

上传文件交互过程

client询问tracker上传到的storage,不需要附加参数;

tracker返回一台可用的storage;

client直接和storage通讯完成文件上传。

从零开始搭建FastDFS专题_第2张图片

下载文件交互过程

client询问tracker下载文件的storage,参数为文件标识(卷名和文件名);

tracker返回一台可用的storage;

client直接和storage通讯完成文件下载。

从零开始搭建FastDFS专题_第3张图片

安装准备:

1.虚拟机(centos 7) 

2.FastDFS相关包,可在https://github.com/happyfish100 下载


从零开始搭建FastDFS专题_第4张图片


3.nginx 相关的包

最终下载的结果:

从零开始搭建FastDFS专题_第5张图片

准备好了,就开始搭建我们的FastDFS。

1.文件上传到Centos 7

可以使用文件传输工具上传上去,如xftp

但是,我想用vsftpd上传,如果有兴趣的可以跟我来弄,没兴趣的用上面的工具或自己的方法上传到服务器

vsftp被公认目前最好的ftp之一,所以,搭建它还是很有意义的,有了它,我们可以让虚拟机与主机更加方便的通信。我也是参考人家的搭建,再自己动手搭建。嫌弃我啰嗦的,可以参照文章:http://blog.csdn.net/m0_37797991/article/details/73433969

1.安装

在安装前查看是否已安装vsftpd

# 查看是否已安装 方法一

[root@localhost ~]# rpm -q vsftpd

vsftpd-3.0.2-22.el7.x86_64

# 查看是否已安装 方法二

[root@localhost ~]# vsftpd -v

vsftpd: version 3.0.2

# 安装 vsftpd

[root@localhost ~]# yum -y install vsftpd

2.防火墙设置

如果防火墙把ftp的端口给拦截了,我们是无法访问到ftp服务的。我们可以选择把ftp的端口给关闭,但是个人不推荐。

当然如果不想麻烦,也提供CentOS7中关闭防火墙的方法:

#关闭防火墙(重启后不生效)

[root@localhost ~]# systemctl stop firewalld.service

#禁用防火墙(永久关闭)

[root@localhost ~]# systemctl disable firewalld.service

如果不关闭防火墙的话,我们可以把ftp服务添加了防火墙外:

#开放ftp服务添加到防火墙外

[root@localhost ~]# firewall-cmd --permanent --add-service=ftp

#使其生效

[root@localhost ~]# firewall-cmd --reload

#重启防火墙

[root@localhost ~]# systemctl restart firewalld.service

3.设置SELinux

[root@localhost ~]# vi /etc/selinux/config

从零开始搭建FastDFS专题_第6张图片

#SELINUX=enforcing #注释掉

#SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

:wq! #保存退出

#让SELinux进入Permissive模式(宽容模式)

[root@localhost ~]# setenforce 0 

解析一下,SELiunx一共有三种模式:

enforcing(强制模式 ):开始限制domain/type

permissive(宽容模式) :仅会有警告信息

disabled(关闭):关闭SELinux

继续设置SELiunx:

#查看SELinux状态

[root@localhost ~]# /usr/sbin/sestatus -v 

从零开始搭建FastDFS专题_第7张图片

我们查看一下权限:

[root@localhost ~]# getsebool -a | grep ftp

从零开始搭建FastDFS专题_第8张图片

ftp_home_dir和ftpd_full_access必须为on 才能使vsftpd 具有访问ftp根目录,以及文件传输等权限。

[root@localhost ~]# setsebool -P tftp_home_dir 1

[root@localhost ~]# setsebool -P allow_ftpd_full_access 1

让我们再回到强制模式:

#进入Enforcing模式

[root@localhost ~]# setenforce 1 

再次查看权限:

[root@localhost ~]# getsebool -a | grep ftp

从零开始搭建FastDFS专题_第9张图片

创建我们的存放ftp文件目录,并授予权限:

我自己创建了用于ftp访问的目录 /home/ftp

#ftp的访问路径

[root@localhost ~]# chmod -R 777 /home/ftp 

4.配置vsftpd

[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf

从零开始搭建FastDFS专题_第10张图片

打开后修改或者新增:

anonymous_enable=NO      #不允许匿名访问  

write_enable=YES    #写权限

local_root=/home/ftp      #这里是我自定义的ftp目(新增)

 #这个是限制ftp用户只能在自己目录,如果ftp可以跳到其它任意目录是比较危险的,建议限制

chroot_local_user=YES   

#2.3.5之后,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了,需新增此配置(新增)

allow_writeable_chroot=YES   

5.激活root用户

处于安全考虑,root用户是不能作为ftp的登录账户的,如果在没有限制访问目录的情况下,root用户可以在ftp里访问任一文件,所以默认是不能登录ftp的。当然,你也可以为新建一些用户,专门作为ftp用户,个人习惯,用虚拟机的时候我一般直接用root用户登录ftp。

我们需要注释或者删除/etc/vsftpd/ftpusers和/etc/vsftpd/user_list中的root:

[root@localhost ~]# vi /etc/vsftpd/ftpusers

从零开始搭建FastDFS专题_第11张图片

[root@localhost ~]# vi /etc/vsftpd/user_list

从零开始搭建FastDFS专题_第12张图片

6.重启服务

[root@localhost ~]# systemctl restart vsftpd.service

在windows上登录:

从零开始搭建FastDFS专题_第13张图片

在centos7上/home/ftp 查看

从零开始搭建FastDFS专题_第14张图片

开始搭建FastDFS

经过前面的准备工作,现在我们可以开始搭建自己的FastDFS服务

1.1安装 libfastcommon

由于我的centOS7是最小化安装,我里面没有安装zip解压。先安装zip

[root@localhost ftp]# yum -y install unzip zip

安装成功后解压libfastcommon-master.zip

[root@localhost ftp]# unzip libfastcommon-master.zip

进入我们刚刚解压的目录:

[root@localhost ftp]# cd libfastcommon-master

[root@localhost libfastcommon-master]# ./make.sh

然后当我们接着执行./make.sh的时候会提示,gcc命令没有找到。

从零开始搭建FastDFS专题_第15张图片

要先用yum安装gcc: 

[root@localhost libfastcommon-master]# yum -y install gcc-c++

这个时候分别执行./make.sh和./make.sh install,正常情况是可以成功的。

[root@localhost libfastcommon-master]# ./make.sh

从零开始搭建FastDFS专题_第16张图片

[root@localhost libfastcommon-master]# ./make.sh install

从零开始搭建FastDFS专题_第17张图片

libfastcommon默认会被安装到/usr/lib64/libfastcommon.so但是FastDFS的主程序却在/usr/local/lib目录下 

这个时候我们就要建立一个软链接了,实际上也相当于windows上的快捷方式,执行以下4个命令。

[root@localhost libfastcommon-master]# ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so

下面这个有可能已经已经存在软连接(ps:我的就是已经存在),你们可以查找该目录是否存在

[root@localhost libfastcommon-master]# ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so 

[root@localhost libfastcommon-master]# ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so

[root@localhost libfastcommon-master]# ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

1.2安装FastDFS

切换回原来的/home/ftp目录,解压FastDFS安装包

[root@localhost ftp]# unzip fastdfs-master.zip

解压后看到:

进入fastdfs-master目录

[root@localhost ftp]# cd fastdfs-master

[root@localhost fastdfs-master]# yum -y install perl

 友情提醒:要先安装

yum -y install perl 然后在./make.sh    ./make.sh install  否则有如下错误:

解决方案:估计是因为你后来修改了编译参数,在这种情况下,要先执行./make.sh clean,然后再重新编译即可。

我也遇到了,我说说我的情况,是先安装时提示没有安装Perl中,然后回头安装了Perl中,然后在编译就出现了下面这个错误

从零开始搭建FastDFS专题_第18张图片

[root@localhost fastdfs-master]# ./make.sh

[root@localhost fastdfs-master]# ./make.sh install

没有出现错误,已经安装到了/etc/fdfs中,我们看一下该目录下的文件:

[root@localhost fastdfs-master]# cd /etc/fdfs/

[root@localhost fdfs]# ll

从零开始搭建FastDFS专题_第19张图片

我们需要把这三个示例文件复制一份,去掉.sample。

[root@localhost fdfs]# cp client.conf.sample client.conf

[root@localhost fdfs]# cp storage.conf.sample storage.conf

[root@localhost fdfs]# cp tracker.conf.sample tracker.conf

之后再查看一下/etc/fdfs的文件目录:

从零开始搭建FastDFS专题_第20张图片

至此FastDFS已经安装完毕,接下来的工作就是依次配置Tracker和Storage了。

1.3安装tracker

1.3.1创建tracker工作目录

在配置Tracker之前,首先需要创建Tracker服务器的文件路径,即用于存储Tracker的数据文件和日志文件等,我这里选择在/opt目录下创建一个fastdfs/tracker目录用于存放Tracker服务器的相关文件:

[root@localhost ~]# mkdir /opt/fastdfs

[root@localhost ~]# mkdir /opt/fastdfs/tracker

1.3.2配置tracker

[root@localhost ~]# cd /etc/fdfs/

从零开始搭建FastDFS专题_第21张图片

[root@localhost fdfs]# vi tracker.conf

打开后重点关注下面4个配置: 

1.disabled=false #启用配置文件(默认启用)

2.port=22122  #设置tracker的端口号,通常采用22122这个默认端口 

3.base_path=/opt/fastdfs/tracker #设置tracker的数据文件和日志目录 

4.http.server_port=6666 #设置http端口号,默认为8080

1.3.3启动tracker

保存配置后启动tracker,命令如下:

[root@localhost ~]# service fdfs_trackerd start

从零开始搭建FastDFS专题_第22张图片

如果不能启动,或提示用systemctl可改用命令:

[root@localhost ~]# systemctl start fdfs_trackerd

进行刚刚创建的tracker目录,发现目录中多了data和log两个目录,可以查看日志是否正常启动

[root@localhost ~]# cd /opt/fastdfs/tracker/

[root@localhost tracker]# ls

[root@localhost tracker]# cd logs

[root@localhost logs]# tail -f trackerd.log

从零开始搭建FastDFS专题_第23张图片

tracker服务的端口也应当被正常监听,最后再通过netstat命令查看一下端口监听情况:

[root@localhost logs]# netstat -unltp|grep fdfs

端口22122成功监听。

确认tracker正常启动后可以将tracker设置为开机启动,打开/etc/rc.d/rc.local并在其中加入以下配置:

[root@localhost logs]# vi /etc/rc.d/rc.local

增加一行命令 service fdfs_trackerd start

从零开始搭建FastDFS专题_第24张图片

Tracker至此就配置好了。

1.4 安装storage

1.4.1 为storage配置工作目录

步骤基本与配置Tracker一致,首先是创建Storage服务器的文件目录,需要注意的是同Tracker相比我多建了一个目录,因为Storage还需要一个文件存储路径,用于存放接收的文件:

[root@bogon fastdfs]# mkdir /opt/fastdfs/storage

[root@bogon fastdfs]# mkdir /opt/fastdfs/storage_data

查看一下目录

1.4.2 修改storage配置文件

接下来修改/etc/fdfs目录下的storage.conf配置文件

[root@bogon fastdfs]# cd /etc/fdfs/

从零开始搭建FastDFS专题_第25张图片

[root@bogon fdfs]# vi storage.conf

1.disabled=false #启用配置文件(默认启用)

2.group_name=group1 #组名,根据实际情况修改

3.port=23000 #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致

4.base_path=/opt/fastdfs/storage  #设置storage数据文件和日志目录

5.store_path_count=1 #存储路径个数,需要和store_path个数匹配

6.store_path0=/opt/fastdfs/storage_data  #实际文件存储路径

7.tracker_server=192.168.242.131:22122 #tracker 服务器的 IP地址和端口号,如果是单机搭建,IP不要写127.0.0.1,否则启动不成功(此处的ip是我的CentOS虚拟机ip)

8.http.server_port=8888 #设置 http 端口号

修改保存后创建软引用

[root@bogon fdfs]# ln -s /usr/bin/fdfs_storaged /usr/local/bin

1.4.3 启动storage

[root@bogon fdfs]# service fdfs_storaged start

如果不能启动,或提示用systemctl可改用命令:

[root@bogon fdfs]# systemctl startfdfs_storaged

成功后应该可以看到:

如果启动成功,/opt/fastdfs/storage中就可以看到启动后新生成的datalogs目录,端口23000也应被正常监听,还有一点就是文件存储路径下会生成多级存储目录,那么接下来看看是否启动成功了

[root@bogon fdfs]# cd /opt/fastdfs/storage

[root@bogon logs]# netstat -unltp|grep fdfs

查看一下我们的启动日志:

[root@bogon fdfs]# cd /opt/fastdfs/storage

[root@bogon storage]# cd logs/

[root@bogon logs]# tail -f storaged.log

从零开始搭建FastDFS专题_第26张图片

启动完成后,可以看到我们storaged_data目录下创建了很多级目录

从零开始搭建FastDFS专题_第27张图片

同样的,设置开机启动:

[root@bogon data]# vi /etc/rc.d/rc.local

从零开始搭建FastDFS专题_第28张图片

服务已正常启动。

1.4.4 校验整合

fastdfs的东西都已安装完成,最后我们还要确定一下,storage是否注册到了tracker中去。

[root@bogon data]# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf

从零开始搭建FastDFS专题_第29张图片

1.5测试

1.5.1 配置客户端

修改客户端的配置文件:

[root@bogon opt]# vi /etc/fdfs/client.conf

设置如下:

1.base_path=/usr/yong.cao/dev/fastdfs/fastdfs_tracker #tracker服务器文件路径

2.tracker_server=192.168.242.131:22122  #tracker服务器IP地址和端口号

3.http.tracker_server_port=6666  # tracker 服务器的 http端口号,必须和tracker的设置对应起来

通过ftp上传图片到CentOS:

从零开始搭建FastDFS专题_第30张图片

最后可以看到图片存在我们的/home/ftp目录上

(ps:也可以使用其他方式把图片放在centos 7 文件目录下,如xftp)

1.5.2 模拟上传

确定图片位置后,我们输入上传图片命令:

[root@bogon ftp]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /home/ftp/joker.jpg    

#这后面放的是图片的位置(找了我刚才上传的图片)

成功后会返回图片的路径:group1/M00/00/00/wKjyg1pgmOCAQ8BUAABdKP1lcio473.jpg

组名:group1 

磁盘:M00 

目录:00/00 

文件名称:wKjyg1pgmOCAQ8BUAABdKP1lcio473.jpg

我们上传的图片会被上传到我们创建的storage_data目录下,让我们去看看:

[root@bogon storage_data]# cd /opt/fastdfs/storage_data/data/

从零开始搭建FastDFS专题_第31张图片

通过刚刚返回的路径,我们成功找到了图片。

实际文件存储路径下有创建好的多级目录。data下有256个1级目录,每级目录下又有256个2级子目录,总共65536个文件,新写的文件会以hash的方式被路由到其中某个子目录下,然后将文件数据直接作为一个本地文件存储到该目录中。

1.5.3 HTTP访问文件

去官网查看了一下原码,在HISTORY中发现,原来早在4.05的时候,就remove embed HTTP support,

所以现在不能用HTTP方式访问文件.。

从零开始搭建FastDFS专题_第32张图片

1.5.4 HTTP请求不能访问文件的原因

我们在使用FastDFS部署一个分布式文件系统的时候,通过FastDFS的客户端API来进行文件的上传、下载、删除等操作。同时通过FastDFS的HTTP服务器来提供HTTP服务。但是FastDFS的HTTP服务较为简单,无法提供负载均衡等高性能的服务,所以FastDFS的开发者——淘宝的架构师余庆同学,为我们提供了Nginx上使用的FastDFS模块(也可以叫FastDFS的Nginx模块)。 

FastDFS通过Tracker服务器,将文件放在Storage服务器存储,但是同组之间的服务器需要复制文件,有延迟的问题.假设Tracker服务器将文件上传到了192.168.128.131,文件ID已经返回客户端,这时,后台会将这个文件复制到192.168.128.131,如果复制没有完成,客户端就用这个ID在192.168.128.131取文件,肯定会出现错误。这个fastdfs-nginx-module可以重定向连接到源服务器取文件,避免客户端由于复制延迟的问题,出现错误。 

正是这样,FastDFS需要结合nginx,所以取消原来对HTTP的直接支持。

1.6 FastDFS的nginx模块安装

1.6.1 安装nginx

安装需要的工具,之前就已经放到了/home/ftp:

[root@bogon 00]# cd /home/ftp

在安装nginx之前要安装nginx所需的依赖lib:

[root@bogon ftp]# yum -y install pcre pcre-devel

[root@bogon ftp]# yum -y install zlib zlib-devel

[root@bogon ftp]# yum -y install openssl openssl-devel

1.6.2 安装nginx并添加fastdfs-nginx-module

进入到/home/ftp目录,解压我们上传的nginx和fastdfs-nginx-module:

[root@bogon ftp]# cd /home/ftp

[root@bogon ftp]# tar -zxvf nginx-1.13.6.tar.gz

[root@bogon ftp]# unzip fastdfs-nginx-module-master.zip

解压后进入nginx目录编译安装nginx,并添加fastdfs-nginx-module:

[root@bogon src]# cd /home/ftp/nginx-1.13.6

[root@bogon nginx-1.13.6]# ./configure --prefix=/usr/local/nginx --add-module=/home/ftp/fastdfs-nginx-module-master/src      #解压后fastdfs-nginx-module所在的位置

配置成功后会看到如下信息:

从零开始搭建FastDFS专题_第33张图片

紧接着就可以进行编译安装了,依次执行以下命令:

[root@bogon nginx-1.13.6]# make

从零开始搭建FastDFS专题_第34张图片

如果你走到make这一步的时候只出现了一行“make[1]: Leaving directory `/home/ftp/nginx-1.13.6';”提示,不用管它,继续走make install ;

[root@bogon nginx-1.13.6]# make install

从零开始搭建FastDFS专题_第35张图片

nginx的默认目录是/usr/local/nginx,安装成功后查看

从零开始搭建FastDFS专题_第36张图片

1.6.3 配置storage nginx

进入到/usr/local/nginx/目录下,修改nginx.conf:

[root@bogon nginx]# cd conf

[root@bogon conf]# vi nginx.conf

修改监听端口 listen 9999, 新增location

listen     9999;

location ~/group1/M00 { 

     root  /opt/fastdfs/storage_data/data;

      ngx_fastdfs_module;

}

从零开始搭建FastDFS专题_第37张图片

然后进入FastDFS的安装目录/home/ftp/fastdfs-master/目录下的conf目录,将http.confmime.types拷贝到/etc/fdfs目录下:

[root@bogon conf]# cd /home/ftp/fastdfs-master/conf

[root@bogon conf]# cp http.conf /etc/fdfs/

[root@bogon conf]# cp mime.types /etc/fdfs/

另外还需要把/home/ftp/fastdfs-nginx-module安装目录中src目录下的mod_fastdfs.conf也拷贝到/etc/fdfs目录下:

[root@bogon src]# cd /home/ftp/fastdfs-nginx-module-master/src

[root@bogon src]# cp mod_fastdfs.conf /etc/fdfs/

对刚刚拷贝的/etc/fdfs/ 目录下的mod_fastdfs.conf文件进行修改:

[root@bogon src]# vi /etc/fdfs/mod_fastdfs.conf

1.base_path=/opt/fastdfs/storage       #保存日志目录 

2.tracker_server=192.168.242.131:22122    #tracker服务器的IP地址以及端口号 

3.storage_server_port=23000    #storage服务器的端口号 

4.url_have_group_name = true     #文件 url 中是否有 group 名

5.store_path0=/opt/fastdfs/storage_data   #存储路径 

6.group_count = 3     #设置组的个数,事实上这次只使用了group1

设置了group_count = 3,接下来就需要在文件尾部追加这3个group setting:

[group1]

group_name=group1

storage_server_port=23000

store_path_count=1

store_path0=/opt/fastdfs/storage_data

#store_path1=/home/yuqing/fastdfs1

# group settings for group #2

# since v1.14

# when support multi-group, uncomment following section as neccessary

[group2]

group_name=group2

storage_server_port=23000

store_path_count=1

store_path0=/opt/fastdfs/storage_data

[group3]

group_name=group3

storage_server_port=23000

store_path_count=1

store_path0=/opt/fastdfs/storage_data

从零开始搭建FastDFS专题_第38张图片

创建M00至storage存储目录的符号连接:

[root@bogon ~]# ln -s /opt/fastdfs/storage_data/data /opt/fastdfs/storage_data/data/M00

启动nginx:

[root@bogon ~]# /usr/local/nginx/sbin/nginx

centos 7开放9999端口

#开启端口

[root@bogon ~]# firewall-cmd --zone=public --add-port=9999/tcp --permanent

命令含义

--zone #作用域

--add-port=9999/tcp  #添加端口,格式为:端口/通讯协议

--permanent  #永久生效,没有此参数重启后失效

#使其生效

[root@bogon ~]# firewall-cmd --reload

#重启防火墙

[root@bogon ~]# systemctl restart firewalld.service

从零开始搭建FastDFS专题_第39张图片

通过浏览器也可以看到nginx的主页: http://192.168.242.131:9999/    (ps:这是我虚拟机的地址)

从零开始搭建FastDFS专题_第40张图片

storage的nginx已配置成功。接下来,我们还要继续配置tracker的nginx。

1.7 配置tracker nginx

1.7.1 再解压一个 nignx

我在我自己的/home/ftp目录下再建了一个nginx-1.13.7,把原来的nginx-1.13.6.tar.gz又解压了一份到里面

[root@bogon ftp]# mkdir /home/ftp/nginx-1.13.7

[root@bogon ftp]# tar -zxvf nginx-1.13.6.tar.gz -C /home/ftp/nginx-1.13.7

nginx-1.13.7里面就有一份nginx-1.13.6文件

从零开始搭建FastDFS专题_第41张图片

进入新解压nignx目录下配置:

[root@bogon nginx-1.13.7]# cd /home/ftp/nginx-1.13.7/nginx-1.13.6/

[root@bogon nginx-1.13.6]# ./configure --prefix=/usr/local/nginx2 --add-module=/home/ftp/fastdfs-nginx-module-master/src        #解压后fastdfs-nginx-module所在的位置

执行完后,将生成一个nignx2文件在/usr/local目录下

从零开始搭建FastDFS专题_第42张图片

在刚才/home/ftp/nginx-1.13.7/nginx-1.13.6 目录下进行编译:

[root@bogon nginx-1.13.6]# make

[root@bogon nginx-1.13.6]# make install

从零开始搭建FastDFS专题_第43张图片

接下来,一样的还是修改nginx.conf,端口号可以不改,用80的。需将upstream指向tracker的nginx地址。

[root@bogon local]# vi /usr/local/nginx2/conf/nginx.conf

#新增

upstream fdfs_group1 {

        server 127.0.0.1:9999;

    }

#新增

location /group1/M00 {

            proxy_pass http://fdfs_group1;

        }

从零开始搭建FastDFS专题_第44张图片

启动nginx:

[root@bogon sbin]# /usr/local/nginx2/sbin/nginx

centos 7开放80端口

#开启端口

[root@bogon ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent

#使其生效

[root@bogon ~]# firewall-cmd --reload

#重启防火墙

[root@bogon ~]# systemctl restart firewalld.service

从零开始搭建FastDFS专题_第45张图片

访问nginx2的 80端口:

从零开始搭建FastDFS专题_第46张图片

通过客户端命令测试上传: 

[root@bogon sbin]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /home/ftp/joker.jpg

然后再访问刚刚上传的文件:http://192.168.242.131/group1/M00/00/00/wKjyg1phId-AU4u-AABdKP1lcio193.jpg

从零开始搭建FastDFS专题_第47张图片

至此关于单机版的FastDFS在CentOS 7下的部署测试就已经全部完成了。

后面我会写一下搭建集群FastDFS。

下一篇:搭建FastDFS集群专题

你可能感兴趣的:(从零开始搭建FastDFS专题)