01-Centos7搭建FastDFS(单机版)

参考链接:
单机版
https://blog.csdn.net/LSY_CSDN_/article/details/105788221
https://www.cnblogs.com/youzhibing/p/9160690.html
https://blog.csdn.net/fhzh520/article/details/56494611

集群版
https://blog.csdn.net/prcyang/article/details/89946190

一、准备系统及前提约束

1、系统:

版本:centos7 64位
IP:192.168.0.126

2、软件:

没有也没关系,后面有链接和下载教程。
libfastcommon-1.0.43.zip
fastdfs-6.06.zip
fastdfs-nginx-module-1.22.zip
nginx-1.16.0.tar.gz

二、基础环境配置

1、关闭防火墙

 systemctl stop firewalld  # 关闭防火墙
 systemctl disable firewalld  # 开机禁止防火墙重启
 systemctl status firewalld # 检查防火墙状态

在这里插入图片描述
在这里插入图片描述

2、配置hosts

修改hosts,将文件服务器的ip与域名映射

 vim /etc/hosts

末尾添加:IP+域名

192.168.0.126 fastdfs.wzw.com

在这里插入图片描述

3、安装gcc环境

安装gcc环境,后面项目编译有需要用到gcc环境。

3.1检查gcc环境

 gcc -v

如果显示gcc版本,说明本机已经安装了gcc。如果没有的话,需要安装。
在这里插入图片描述

3.2安装gcc库

 yum install -y gcc gcc-c++

4、安装libevent库

FastDFS依赖libevent库,在服务器上通过yum命令进行安装:

 yum -y install libevent

在这里插入图片描述

三、开始搭建Fast DFS

1、安装libfastcommon

libfastcommon是从FastDFS和FastDHT中提取出来的公共C函数库,基础环境,安装即可。

1.1 软件下载

软件下载链接:
https://github.com/happyfish100/libfastcommon/releases

注意:最好选择releases中最新版本。本地下载1.0.43。

1.2 上传、解压软件

将下载的libfastcommon软件压缩包上传到服务器指定文件夹中,然后进行解压。
在这里插入图片描述

1.3 编译软件

进入到libfastcommon解压后的文件夹中,然后执行编译命令:

 ./make.sh

在这里插入图片描述

1.4 安装软件

进入到libfastcommon解压后的文件夹中,然后执行安装命令:

 ./make.sh install

在这里插入图片描述

2、安装fastDFS

2.1 软件下载

软件下载链接:
https://github.com/happyfish100/fastdfs/releases
注意:最好选择releases中最新版本。本地下载6.0.6。

2.2上传、解压软件

将下载的fastdfs软件压缩包上传到服务器指定文件夹中,然后进行解压。
在这里插入图片描述

2.3编译软件

进入到fastdfs解压后的文件夹中,然后执行编译命令:

 ./make.sh

在这里插入图片描述

2.4安装软件

进入到fastdfs解压后的文件夹中,然后执行安装命令:

 ./make.sh install

在这里插入图片描述

2.5安装后文件与目录

A、服务脚本:
服务脚本路径:

/etc/init.d/fdfs_storaged
/etc/init.d/fdfs_tracker

B、配置文件:
配置文件路径:

/etc/fdfs/client.conf.sample
/etc/fdfs/storage.conf.sample
/etc/fdfs/tracker.conf.sample

C、命令工具:
命令工具在 /usr/bin/文件夹中:

fdfs_appender_test
fdfs_appender_test1
fdfs_append_file
fdfs_crc32
fdfs_delete_file
fdfs_download_file
fdfs_file_info
fdfs_monitor
fdfs_storaged
fdfs_test
fdfs_test1
fdfs_trackerd
fdfs_upload_appender
fdfs_upload_file
stop.sh
restart.sh

3、配置fastDFS跟踪器(tracker)

当该服务器上fastDFS有tracker服务角色的时候才需要配置,如果只是单纯的storage服务角色那么就不需要配置tracker的配置文件了。

3.1 获取样例配置文件

进入/etc/fdfs,复制FastDFS跟踪器样例配置文件 tracker.conf.sample,并重命名为tracker.conf。命令如下:

 cp tracker.conf.sample tracker.conf

在这里插入图片描述
在这里插入图片描述

3.2 修改配置参数

使用vi命令编辑tracker.conf,主要修改以下参数:
修改配置参数:

    #提供服务的端口
    port=22122
    #Tracker数据和日志目录地址
    base_path=/data/soft/fastdfs/tracker 
    #HTTP服务端口 
    http.server_port=8080

3.3 创建数据目录

创建tracker.conf中配置tracker数据和日志目录路径:

 mkdir -p /data/soft/fastdfs/tracker

在这里插入图片描述

3.4 启动tracker后文件结构

Tracker服务启动成功后,会在base_path下创建data、logs两个目录。文件data为数据,文件logs为日志。

4、配置fastDFS存储(storage)

当该服务器上fastDFS有storage服务角色的时候才需要配置,如果只是单纯的tracker服务角色那么就不需要配置storage的配置文件了。

4.1获取样例配置文件

进入/etc/fdfs 目录,复制FastDFS存储器样例配置文件 storage.conf.sample,并重命名为storage.conf。命令如下:

 cp storage.conf.sample storage.conf

4.2修改配置参数

使用vi命令编辑storage.conf,主要修改以下参数:

-------------------修改内容-------------------
#指定此storage server所在 组(卷) 
group_name=group1 

# storage server服务端口 
port=23000 

# Storage数据和日志目录地址 
base_path=/data/soft/fastdfs/storage

#存放文件时storage server支持多个路径。配置存放文件的基路径数目,通常只配一个目录。
store_path_count=1

#逐一配置store_path_count个路径,索引号基于 0。如果不配置 store_path0,那它就和base_path对应的路径一样 
store_path0=/data/soft/fastdfs/store_file

# FastDFS存储文件时,采用了两级目录。这里配置存放文件的目录个数。如果本参数只为 N(如:256),那么storage server在初次运行时,会在store_path下自动创建 N * N 个存放文件的子目录。
subdir_count_per_path=256

# tracker_server的列表,会主动连接 tracker_server,有多个tracker server时,每个tracker server写一行,建议写hosts中配的域名
tracker_server=file.lsy.com:22122 

#访问端口
http.server_port=8888
-------------------修改内容-------------------

4.3创建数据目录

创建storage.conf中配置storage数据和日志目录路径:

 mkdir -p /data/soft/fastdfs/storage

创建storage.conf中配置store_path0目录路径:

 mkdir -p /data/soft/fastdfs/store_file

在这里插入图片描述

4.4启动storage后文件结构

同 tracker、storage 启动成功后,在storage的base_path下创建了data、logs目录,记录着storage 服务的信息。在storage的store_path0目录下,创建了N*N个子目录。

5、配置client文件

5.1获取样例配置文件

进入/etc/fdfs,复制FastDFS跟踪器样例配置文件 client.conf.sample,并重命名为client.conf。命令如下:

 cp client.conf.sample client.conf

5.2修改配置参数:

使用vi命令编辑client.conf,主要修改以下参数:

-------------------修改内容-------------------
    # Client的数据和日志目录
    base_path=/data/soft/fastdfs/client
    # Tracker端口 
tracker_server=file.lsy.com:22122
-------------------修改内容-------------------

5.3创建数据目录

创建client.conf中配置Client数据和日志目录路径:

 mkdir -p /data/soft/fastdfs/tracker

6、上传测试

6.1 启动跟踪器(tracker)

可以用这种方式启动:

 /etc/init.d/fdfs_trackerd start

在这里插入图片描述
也可以用这种方式启动:(推荐使用)

 service fdfs_trackerd start

6.2 启动存储(storage):

可以用这种方式启动

 /etc/init.d/fdfs_storaged start

在这里插入图片描述
也可以用这种方式:(推荐使用)

 service fdfs_storaged start

6.3 上传demo文件:

从本地windows上寻找一个测试上传的图片,然后将图片上传到服务器中client.conf配置文件中配置的client数据存储目录参数base_path的路径下。

6.4 测试上传文件到fastdfs

在这里插入图片描述

[root@cdh1 client]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf 01.txt
group1/M00/00/00/wKgAfl6qLGyAM8WBAAAAF8rCyNs516.txt
[root@cdh1 client]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf 01.jpg
group1/M00/00/00/wKgAfl6qLHqAfkR9AAAm1cL2jv0398.jpg

上传成功后返回文件ID号:
group1/M00/00/00/wKgAfl6qLHqAfkR9AAAm1cL2jv0398.jpg
返回的文件ID由group、存储目录、两级子目录、fileid、文件后缀名(由客户端指定,主要用于区分文件类型)拼接而成。
测试上传文件到fastdfs:成功

7、安装nginx

安装Nginx作为服务器以支持Http方式访问文件,这样就可以通过http访问fastDFS进行下载文件。同时,后面安装FastDFS的Nginx模块也需要Nginx环境。
注意:Nginx只需要安装到StorageServer所在的服务器即可,用于访问文件。
nginx安装教程:
https://blog.csdn.net/prcyang/article/details/90032781
在这里插入图片描述

7.1测试修改nginx配置文件

想通过nginx的http方式访问文件,那么就需要对nginx的配置文件进行简单的配置,进入到nignx安装文件夹的/conf中,修改配置文件nginx.conf:

添加如下行,将/group1/M00 映射到/data/soft/fastdfs/store_file/data(也就是storage配置文件中store_path0参数的值再加上data目录)

-------------------修改内容-------------------
    location /group1/M00 {
        alias /data/soft/fastdfs/store_file/data;   
}
-------------------修改内容-------------------

7.2测试启动nginx

(1)nginx是服务:
如果nginx已经配置成服务了,那么就用服务启动:

 service nginx start

(2)nginx不是服务:
如果nginx没有配置成服务,那么就进入到nginx安装文件中,执行sbin下nginx命令:

 ./nginx

在这里插入图片描述

7.3测试http访问文件

刚刚测试上传到fastDFS中图片返回的文件ID号为:
group1/M00/00/00/wKgAfl6qLHqAfkR9AAAm1cL2jv0398.jpg
该文件实际存储在fastDFS的storage配置的/data/soft/fastdfs/store_file/data/00/00中对应的文件名,并且nginx中配置了group1/M00转发到/data/soft/fastdfs/store_file/data,因此可以通过http的方式访问到刚刚上传的图片,在windows浏览器中输入:http://192.168.0.126:80/group1/M00/00/00/wKgAfl6qLHqAfkR9AAAm1cL2jv0398.jpg
,其中IP和端口号就是nginx访问地址,加上fastDFS中文件ID号即可,就能访问到刚刚上传的图片了。
在这里插入图片描述
访问上传的文件:成功

8、在fastDFS中配置nginx模块

8.1下载fastdfs-nginx-module

软件下载地址:
https://github.com/happyfish100/fastdfs-nginx-module/releases
注意:最好选择releases中最新版本。本地下载1.22

8.2上传、解压fastdfs-nginx-module

将下载的fastdfs-nginx-module软件压缩包上传到服务器指定文件夹中,然后进行解压。
在这里插入图片描述
在这里插入图片描述

8.3增加nginx模块

上面已经安装过nginx了,是默认安装的,没有添加fastdfs-nginx-module模块,因此要重新安装nginx。
A、停掉nginx服务:
如果nginx已经配置成服务了,那么就关闭服务即可:

 service nginx stop

如果nginx没有配置成服务,那么将上面安装的nginx进程停掉。可以通过
ps -ef | grep nginx找到进程ID,然后killl -9 进程ID杀死进程即可。

B、监测configure配置:
进入到nginx解压后的文件中,执行configure命令,并通过prefix参数设置nginx安装路径,通过add-module参数设置增加模块:
前提:1.创建nginx安装目录;2.已经将fastdfs-nginx-module移动到相关路径。当然你自己喜欢就好
在这里插入图片描述

 ./configure --prefix=/data/soft/nginx/nginx1 --add-module=/data/soft/fastdfs-nginx-module-1.22/src

在这里插入图片描述
说明:prefix值为nginx安装路径,add-module值为fastdfs-nginx-module解压的路径加上src文件夹。

C、编译nginx:
进入到nginx解压后的文件中,执行make命令:

 make

D、安装nginx:
进入到nginx解压后的文件中,执行make install命令:

 make install

E、查看nginx模块:
进入到nginx安装路径下sbin中,通过命令查看nginx模块:

 ./nginx -V

有如下模块配置信息表示fastdfs-nginx-module模块增加成功:
在这里插入图片描述

8.4配置fastdfs-nginx-module参数文件

A、复制配置文件:
进入到fastdfs-nginx-module解压文件夹内src中,复制mod_fastdfs.conf文件到/etc/fdfs目录:

 cp mod_fastdfs.conf /etc/fdfs/

B、修改配置文件:
进入到/etc/fdfs文件夹中,修改配置文件mod_fastdfs.conf,主要修改一下参数:

======================修改内容======================
#连接超时时间 
connect_timeout=10 


# Tracker Server  


#tracker_server=file.lsy.com:22122
tracker_server=fastdfs.wzw.com:22122
# StorageServer端口
storage_server_port=23000
#Storage所属group的组名
group_name=group1
#如果文件ID的uri中包含/group**,则要设置为true
url_have_group_name = true
# Storage配置的store_path0路径,与storage.conf中的一致
store_path0=/data/soft/fastdfs/store_file
======================修改内容======================

8.5复制FastDFS的部分配置文件:

进入到fastDFS源码解压文件内conf中,复制anti-steal.jpg、http.conf、mime.types三个文件到/etc/fdfs中:

 cp anti-steal.jpg http.conf mime.types /etc/fdfs/

8.6修改nginx配置

进入到nginx安装文件夹的conf中,修改配置文件nginx.conf,主要修改以下参数:

A、配置端口号:
nginx端口号要与该服务器上所在的storage的配置文件/etc/fdfs/storage.conf中的参数http.server_port的端口号一致。
listen 8888

B、配置location:
在server中增加location配置

==========增加内容==========
location ~/group([0-9])/M00 {
    ngx_fastdfs_module;
}
==========增加内容==========

四、测试搭建成果

测试http访问文件

1、启动跟踪器(tracker)

可以用这种方式启动:

/etc/init.d/fdfs_trackerd start

也可以用这种方式启动:(推荐使用)

service fdfs_trackerd start

2、启动存储(storage)

可以用这种方式启动

/etc/init.d/fdfs_storaged start

也可以用这种方式:(推荐使用)

service fdfs_storaged start

3、启动nginx

A、nginx是服务:
如果nginx已经配置成服务了,那么就用服务启动:

# service nginx start

B、nginx不是服务:

如果nginx没有配置成服务,那么就进入到nginx安装文件中,执行sbin下nginx命令:

# ./nginx

启动nginx后打印如下信息表示配置成功:

4、测试浏览器http访问文件

刚刚测试上传到fastDFS中图片返回的文件ID号为:

group1/M00/00/00/wKgAfl6qLHqAfkR9AAAm1cL2jv0398.jpg

因此可以通过http的方式访问到刚刚上传的图片,在windows浏览器中输入:
http://192.168.0.126:8888/group1/M00/00/00/wKgAfl6qLHqAfkR9AAAm1cL2jv0398.jpg
,其中IP和端口号就是nginx访问地址,加上fastDFS中文件ID号即可,就能访问到刚刚上传的图片了。
在这里插入图片描述

在此,nginx方式访问Fast DFS文件系统成功。

五、附加操作

1、启动fastDFS:

1.1启动跟踪器(tracker):

可以用这种方式启动:

 /etc/init.d/fdfs_trackerd start

也可以用这种方式启动:(推荐使用)

 service fdfs_trackerd start

1.2启动存储(storage):

可以用这种方式启动

 /etc/init.d/fdfs_storaged start

也可以用这种方式:(推荐使用)

 service fdfs_storaged start

1.3检查storage与tracker是否通信:

启动tracker和storage后,通过命令检查storage是否与tracker进行了正确通信:

 /usr/bin/fdfs_monitor /etc/fdfs/storage.conf

1.4启动nginx:

A、nginx是服务:
如果nginx已经配置成服务了,那么就用服务启动:

 service nginx start

B、nginx不是服务:
如果nginx没有配置成服务,那么就进入到nginx安装文件中,执行sbin下nginx命令:

 cd /data/soft/nginx/nginx1/sbin
 ./nginx

2、停止fastDFS:

2.1关闭nginx:

A、nginx是服务:
如果nginx已经配置成服务了,那么直接通过服务关闭即可:

 service nginx stop

B、nginx不是服务:
如果nginx没有配置成服务,那么可以通过ps -ef | grep nginx找到nginx的进程ID,然后通过kill -9 进程ID杀死该进程即可。

2.2关闭跟踪器(tracker):

执行命令:

 service fdfs_trackerd stop

2.3关闭存储(storage):

执行命令:

 service fdfs_storaged stop

3、设置开机自启:

3.1设置开机自启跟踪器(tracker):

A、加入到chkconfig列表:
执行命令:

 chkconfig --add /etc/init.d/fdfs_trackerd

B、设置服务开机自启:
执行命令:

 chkconfig fdfs_trackerd on

3.2设置开机自启存储(storage):

A、加入到chkconfig列表:
执行命令:

 chkconfig --add /etc/init.d/fdfs_storaged

B、设置服务开机自启:
执行命令:

 chkconfig fdfs_storaged on

3.3设置开机自启nginx:

设置nginx开机自启,首先需要将nginx配置成服务,如果nginx没有配置成服务那么就不能够设置开机自启,nginx配置成服务的步骤见对应的nginx汇总整理。
A、加入到chkconfig列表:
执行命令:

 chkconfig --add /etc/init.d/nginx

B、设置服务开机自启:
执行命令:

 chkconfig nginx on
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章