一.导言

本文使用本地虚拟机进行虚拟机部署测试。

操作系统:CentOS Linux 7 . 8 . 2003版(核心)3.10.0-1160.15.2.el7.x86_64

IP:192.168.168.100

外部Nginx服务器的Ip地址:192.168.168.103

虚拟机配置:双核CPU,4G内存

防火墙设置:CentOS 7.8默认使用防火墙。在本文中,防火墙被禁用,使用iptables。

软件描述:

软件

版本号

安装路径

fastdfs

6.07

默认路径

libfastcommon

1.0.49

默认路径

fastdfs-nginx-模块

1.22

/usr/local/nginx-mod/fastdfs-nginx-module-1.22

nginx

1.20.0

/usr/local/nginx

目录描述:

目录

使用

/数据/工具

存储软件源安装包

/data/fastdfs/

FastDFS数据存储位置(包括数据data和日志log)


二、基本环境

1.安装依赖性

yum -y安装gcc gcc-c++ libevent libevent-devel zlib zlib-devel pcre-devel perl

2.安装libfatscommon函数库

libfastcommon是由FastDFS官方提供的,libfastcommon包含了FastDFS运行所需的一些基本库。

下载地址:https://github.com/happyfish100/libfastcommon/releases

根据需求选择合适的版本下载安装。本文使用的是最新的稳定版本。

①安装模式1

CD/data/toolswget-O libfastcommon-1.0.49.tar.gz https://github . com/happy fish 100/libfast common/archive/v 1 . 0 . 49 . tar . gztar xf libfast common-1 . 0 . 49 . tar . gzCD libfast common-1 . 0 . 49/。/make.sh。/make.sh安装

②安装模式2

yum -y安装gitcd /data/toolsgit克隆https://github . com/happy fish 100/libfast common . gitCD libfast commongit check out v 1 . 0 . 49。/make.sh clean。/make.sh。/make.sh安装

三。安装FastDFS

1.装置

下载地址:https://github.com/happyfish100/fastdfs/releases

根据需求选择合适的版本下载安装。本文使用的是最新的稳定版本。

CD/data/toolswget-O fastdfs-6.07.tar.gz https://github . com/happy fish 100/fastdfs/archive/v 6.07 . tar . gztar xf fastdfs-6.07 . tar . gzCD fastdfs-6.07。/make.sh。/make.sh安装

2.相关文件和目录

安装后对应文件和目录的默认安装方法

形容

目录

服务脚本

/etc/init.d/fdfs_storaged

/etc/init.d/fdfs_trackerd

示例配置文件

/etc/fdfs/client.conf.sample

/etc/fdfs/storage.conf.sample

/etc/fdfs/tracker.conf.sample

命令工具

/usr/bin/fdfs _ appender _ test | fdfs _ appender _ test1 | fdfs _ appender _ test1 | fdfs _ appender _ file | fdfs _ delete _ file | fdfs _ file _ info | fdfs _ monitor | fdfs _ regenerate _ filename | fdfs _ storaged | fdfs _ test1 | fdfs _ trackerd | fdfs _ upload _ appender | fdfs _ upload _ file


四。配置FastDFS

1.跟踪器(追踪器)

①创建跟踪器基础数据目录

mkdir -p /data/fastdfs/tracker

②进入/etc/fdfs,复制FastDFS tracker的配置文件tracker.confsample,重命名为tracker.conf。

CD/etc/fdfsCP tracker . conf . sample tracker . conf

③编辑tracker.conf

VI/etc/fdfs/Tracker . conf/修改以下配置项# Tracker服务的端口(默认为22122,一般不修改)port = 22122# Tracker服务数据和日志目录地址(根目录必须存在,会自动创建一个子目录)base _ path =/data/fastdfs/Tracker# HTTP服务端口默认为8080,可以根据需要修改

注:①以上配置项目的修改仅供参考。在实际环境中,请根据需要进行修改和调整。

②如果tracker和storage部署在不同的服务器上,或者外部调用程序在不同的服务器上,需要打开端口。

④启动跟踪器。

# #第一次启动必须使用以下命令。您可以稍后使用systemctl管理。

/etc/init.d/fdfs_trackerd start

⑤服务检查

# #检查FastDFS Tracker是否已经成功启动,如下图所示。

systemctl状态fdfs_trackerd

# #端口监视器

netstat -tulnp|grep fdfs

⑥跟踪服务器目录和文件结构

Tracker服务成功启动后,base_path下会创建两个目录data和logs(本文中的目录为:/data/fastdfs/tracker)。目录结构如下:

ls -al /data/fastdfs/tracker或ll/data/fastdfs/tracker/的目录结构如下| _ _ data| _ _ fdfs _ tracker . PID| _ _ storage _ change

⑦服务管理

start:/etc/init.d/ fdfs _ tracker start或systemctl start fdfs _ tracker.service Close:/etc/init.d/fdfs _ tracker停止或systemctl停止fdfs _ tracker . service重新启动:/etc/init . d/fdfs _ tracker重新启动或system CTL重新启动fdfs _ tracker . serviceStartup:chkconfig fdfs _ tracker on检查状态:/etc/init . d/fdfs _ tracker

2.存储(存储)

①创建存储数据和日志目录。

mkdir -p /data/fastdfs/storage

②进入/etc/fdfs目录,复制FastDFS内存示例配置文件storage.confsample,重命名为storage.conf。

CD/etc/fdfsCP storage . conf . sample storage . conf

③编辑storage.conf

VI/etc/fdfs/storage . conf/修改以下配置项#指定该存储服务器所在的组(卷) group _ name = group1 #存储服务端口(默认23000,一般不修改)port = 23000#存储的工作室空(数据和日志文件存储根目录) base _ path =/data/fastdfs 第二个是1,以此类推)Store _ path 0 =/data/fastdfs/storage# tracker服务器的地址和端口号,用于心跳(有多个tracker服务器时,每个tracker服务器写一行)tracker _ server = 192 . 168 . 168 . 102:22122# HTTP访问文件的端口(默认为8888,可以根据情况修改,还有

注:①以上配置项目的修改仅供参考。在实际环境中,请根据需要进行修改和调整。

②关于store_path项的配置,官方不建议其配置值与base_path项相同。建议使用不同的目录路径。出于测试目的,配置的值是相同的。

④开始存储。

systemctl开始fdfs_storaged

注意:如果tracker和存储部署在不同的服务器上,则必须使用/etc/init.d/fdfs_storaged start命令首次启动存储。在本文中,跟踪器和存储部署在同一个服务器上。当tracker服务器启动时,可以使用systemctl来首次启动存储服务。

⑤服务检查

# #检查存储是否成功启动,端口23000是否被监控。

系统ctl状态fdfs_storaged

# #检查服务端口23000是否被监听。

netstat -unltp | grep fdfs

# #检查存储器和跟踪器是否正在通信(活动表示正常)

/usr/bin/fdfs _ monitor/etc/fdfs/storage . conf

⑥服务管理

Start:/etc/init . d/fdfs _ storaged Start或system CTL Start FDFS _ storaged serviceClose:/etc/init . d/fdfs _ storagestop或system CTL stop fdfs _ stored . service重新启动:/etc/init . d/fdfs _ storage Start或system CTL restart fdfs _ stored . serviceStartup:chkconfig fdfs _ stored on检查状态:/etc/init.d/fdfs _ stored status

3.客户(客户端)

①创建客户端数据和日志目录。

mkdir -p /data/fastdfs/client

②进入/etc/fdfs目录,复制FastDFS客户端示例配置文件client.confsample,重命名为client.conf。

CD/etc/fdfsCP client . conf . sample client . conf

③编辑客户端. conf

VI/etc/fdfs/Client . conf/修改以下配置项#客户端的数据和日志目录base _ path =/data/fastdfs/Client# tracker服务器地址和监听端口Tracker _ server = 192 . 168 . 168 . 102:22122# Tracker服务的HTTP端口必须对应Tracker的设置 http.tracker _ server _ port

注:以上配置项的修改仅供参考。在实际环境中,请根据需要进行修改和调整。

动词 (verb的缩写)Nginx和模块的安装

注意:nginx需要和存储在同一个节点上。

1.下载软件包

CD/data/toolswget http://nginx . org/download/nginx-1 . 20 . 0 . tar . gzwget-O fastdfs-nginx-module-1.22.tar.gz https://github . com/happy fish 100/fastdfs-nginx-module/archive/v 1.22 . tar . gz

2.安装fastdfs-nginx-module模块

mkdir-p/usr/local/nginx-modtar xf fastdfs-nginx-module-1.22 . tar . gzmv fastdfs-nginx-mod-1.22/usr/local/nginx-mod/

# #修改配置文件
/usr/local/nginx-mod/fastdfs-nginx-module-1.22/src/config,主要是修改路径。将配置文件中的/usr/local/include更改为/usr/include,因为安装fastdfs时没有修改路径,而原始路径是/usr。

3.复制并修改fastdfs-nginx-module中的配置文件

mkdir-p/data/fastdfs/tmp/Create mod _ fastdfs日志目录CP/usr/local/nginx-mod/fastdfs-nginx-module-1.22/src/mod _ fastdfs . conf/etc/Fdfs/[Fdfs/mod _ fastdfs . conf/修改以下配置项#连接超时connect_timeout=10#日志目录[/h默认值为falseURL _ have _ group _ name = false#存储配置的store_path0的路径必须与storage . confStore _ path 0 =/data/fastdfs/storage中的路径一致

注意:以上mod_fastdfs.conf配置项的修改仅供参考。在实际环境中,请根据需要进行修改和调整。

4.安装Nginx

在本文中,将不详细描述Nginx的编译和安装过程。具体步骤可以参考我之前发表的文章《CentOS7下编译安装Nginx-v1.20.0》。网址是:
https://www.toutiao.com/i6961593096903705092/

注意:在运行configure配置时添加fastdfs-nginx-module模块。该命令如下所示:

。/configure……-add-module =/usr/local/nginx-mod/fastdfs-nginx-module-1.22/src

5.将FastDFS的一些配置文件复制到/etc/fdfs目录

CD/data/tools/fastdfs-6.07/conf/CP http . conf mime . types/etc/fdfs/

6.配置Nginx

添加fastdfs虚拟主机配置文件

VI/usr/local/nginx/conf/vhost/fastdfs . conf//添加以下配置内容server {listen 888;server _ name 192 . 168 . 168 . 100;# location ~/group([0-9])/M00 {location ~/M00 {ngx _ fastdfs _ module;}error _ page 500 502 503 504/50x . html;location =/50x . html {root html;}}

注意:监听端口必须与storage.conf中的http.server_port相同,防火墙需要释放端口。

7.启动Nginx

systemctl启动nginx.service

8.检查NGINX配置文件,您将看到fastdfs模块信息。

/usr/local/nginx/sbin/nginx -t

不及物动词测试

1.在服务器中使用命令上传。

# #创建测试目录

mkdir-p/data/testCD/data/test//使用rz命令或者其他方法在本地上传一张图片到这个目录,测试使用ll /data/test。

# #使用命令将图片上传到FastDFS存储器

/usr/bin/fdfs _上传文件/etc/fdfs/client . conf fastdfs.jpeg

# #如上图所示,上传成功后会返回文件路径和ID:
group 1/m00/00/wkiozgcc 3 oqamgrnaeghskl 6 HW 44 . JPEG。

# #浏览器访问
http://192 . 168 . 168 . 100:8888/m00/00/00/wkiozgcc 3oqamgrnaaegskl6hw44.jpeg

2.在服务器中使用命令下载。

# #下载图片文件,并将其重命名为test.jpg。

/usr/bin/fdfs _ download _ file/etc/fdfs/client . conf group 1/M00/00/00/wkiozgcc 3 oqamgrnaeghskl 6 HW 44 . JPEG test.jpg

3.在服务器中使用命令删除。

/usr/bin/fdfs _ delete _ file/etc/fdfs/client . conf group 1/M00/00/00/wkiozgcc 3 oqamgrnaeghskl 6 HW 44 . JPEG

# #执行删除命令后,再次下载会出错。

/usr/bin/fdfs _ download _ file/etc/fdfs/client . conf group 1/M00/00/00/wkiozgcc 3 oqamgrnaeghskl 6 HW 44 . JPEG test1.jpg

七。为外部访问配置Nginx

在另一个服务器(192.168.168.103)上配置Nginx访问(负载平衡和反向代理)来隐藏FastDFS真实服务器。

# #编辑Nginx主配置文件nginx.conf,在http配置项中添加上游项。

VI/usr/local/nginx/conf/nginx . conf/Add upstream entryupstream fastdfs _ SRV {server 192 . 168 . 168 . 100:888;}

# #创建一个新的与访问FastDFS相关的虚拟主机配置文件,在本文中为fastdfs.conf。

VI/usr/local/nginx/conf/vhost/fastdfs . conf/添加以下服务器{listen 80;server _ name 192 . 168 . 168 . 103;位置/文件{proxy _ next _ upstream http _ 502 http _ 504错误超时invalid _ headerproxy _ pass http://fastdfs _ SRV/;过期30d}}

# #重新加载配置

/usr/local/nginx/sbin/nginx-t/usr/local/nginx/sbin/nginx-s重新加载

# #测试,使用浏览器访问

http://192 . 168 . 168 . 103/files/M00/00/00/wkiozgcc 3 oqamgrnaeghskl 6 HW 44 . JPEG

想了解更多关于fastdfs部署(fastdfs安装)的内容,请扫微信
或微信搜索jiemingpan


版权说明:本文版权由作者自行负责,如有侵权请联系本站删除。