配置可通过HTTP访问的fastDFS

http-fastDFS.png

1.什么是 FastDFS

四个方面的功能:

  • 文件存储
  • 文件同步
  • 文件上传
  • 文件下载

系统架构图

fastDFS-struction.png

  • 从上面这张图中我们可以看到,FastDFS 架构包括 Tracker 和 Storage 两部分,看名字大概就能知道,Tracker用来追踪文件,相当于是文件的一个索引,而 Storage 则用来保存文件。

  • 我们上传文件的文件最终保存在 Storage 上,文件的元数据信息保存在 Tracker 上,通过 Tracker 可以实现对 Storage 的负载均衡。

  • Storage 一般会搭建成集群,一个 Storage Cluster 可以由多个组构成,不同的组之间不进行通信,一个组又相当于一个小的集群,组由多个 Storage Server 组成,组内的 Storage Server 会通过连接进行文件同步来保证高可用。

2.FastDFS 安装

  • Tracker 安装
  • Storage 安装
  • Nginx 安装

2.1Tracker 安装

一个环境

先来看一个环境,由于 FastDFS 采用 C语言开发,所以在安装之前,如果没有 gcc 环境,需要先安装,安装命令如下:

yum install gcc-c++

两个库

再来看两个库,由于 FastDFS 依赖 libevent 库,安装命令如下:

yum -y install libevent

另一个库是 libfastcommon,这是 FastDFS 官方提供的,它包含了 FastDFS 运行所需要的一些基础库。

  • libfastcommon 下载地址:https://github.com/happyfish100/libfastcommon/archive/V1.0.43.tar.gz
  • 下载成功后,将下载文件拷贝到 /usr/local 目录下,然后依次执行如下命令安装:
cd /usr/local
tar -zxvf V6.06.tar.gz
cd fastdfs-6.06/
./make.sh
./make.sh install

一个安装包

  • 接下来我们下载 Tracker,注意,由于 Tracker 和 Storage 是相同的安装包,所以下载一次即可(2.2 小节中不用再次下载)。

  • 安装文件可以从 FastDFS 的 GitHub 仓库上下载,下载地址:https://github.com/happyfish100/fastdfs/archive/V6.06.tar.gz

  • 下载成功后,将下载文件拷贝到 /usr/local 目录下,然后依次执行如下命令安装:

cd /usr/local
tar -zxvf V6.06.tar.gz
cd fastdfs-6.06/
./make.sh
./make.sh install
  • 安装成功后,执行如下命令,将安装目录内 conf 目录下的配置文件拷贝到 /etc/fdfs 目录下:
cd conf/
cp ./* /etc/fdfs/

配置

接下来进入 /etc/fdfs/ 目录下进行配置:

打开 tracker.conf 文件:

vim /etc/fdfs/tracker.conf

配置如下修改:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DU3CpueX-1588852256339)(http://q7w544ip5.bkt.clouddn.com/fdfs-tracker-config.png)]

默认端口是 22122,可以根据实际需求修改,我这里就不改了。然后下面配置一下元数据的保存目录(注意目录要存在)。

启动

如下命令启动 Tracker:

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start

如此之后,我们的 Tracker 就算安装成功了

2.2 Storage 安装

简单起见,这里我们搭建一个 Storage 实例即可。Storage 安装也需要 libevent 和 libfastcommon,这两个库的安装参考上文,这里我不在细说。

Storage 本身的安装,也和 Tracker 一致,执行命令也都一样,因为我这里将 Tracker 和 Storage 安装在同一台服务器上,所以不用再执行安装命令了(相当于安装 Tracker 时已经安装了 Storage 了)。

配置

唯一要做的,就是进入到 /etc/fdfs 目录下,配置 Storage:

vim /etc/fdfs/storage.conf

配置如下修改:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lsiZskNI-1588852256340)(http://q7w544ip5.bkt.clouddn.com/fdfs-storage-config.png)]

启动

如下命令启动 Tracker:

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start

关闭fdfs

如下命令:

killall fdfs_trackerd
killall fdfs_storaged

查看服务

同样查看服务是否启动,如下命令:

netstat -unltp | grep fdfs

torage是否注册到了tracker中去

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

测试

测试是否搭建完成,能否上传图片,如下命令:

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/ybj/g.gif

3. nginx安装

首先下载 Nginx

下载位置为
home/yubajin/devtools/nginx-1.17.0

wget http://nginx.org/download/nginx-1.17.0.tar.gz

然后解压下载的目录,进入解压目录中,在编译安装之前,需要安装两个依赖:

yum -y install pcre -devel 
yum -y install openssl openssl -devel

安装

然后开始编译安装:

./ configure 
make 
make install

装好之后,默认安装位置在 :

/usr/local/nginx/sbin/nginx

启动及相关命令

进入到该目录的 sbin 目录下,执行nginx 即可启动 Nginx :

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

nginx-sucess.png
如果修改了 Nginx 配置,则可以通过如下命令重新加载 Nginx 配置文件:

/usr/local/nginx/sbin/nginx -s reload

关闭服务

nginx -s stop

4. fastDFS插件fastdfs-nginx-module安装

下载和准备

首先下载 fastdfs-nginx-module,下载位置为/home/yubajin/devtools

wget https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.22.tar.gz

下载完成后,将下载的文件拷贝到 /usr/local 目录下。然后进入 /usr/local 目录,分别执行如下命令:

cd /usr/local
tar -zxvf V1.22.tar.gz

配置

修改/usr/local/fastdfs-nginx-module/src/config配置文件

vim /usr/local/fastdfs-nginx-module-1.22/src/config

把路径中的local这一层删除掉

把CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/include/fastcommon/"

修改为:CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"


把CORE_LIBS="$CORE_LIBS -L/usr/local/lib -lfastcommon -lfdfsclient"

修改为:CORE_LIBS="$CORE_LIBS -L/usr/lib -lfastcommon -lfdfsclient"

在命令vim命令模式输入

:%s/local\///g

然后将 /usr/local/fastdfs-nginx-module-1.22/src/mod_fastdfs.conf 文件拷贝到 /etc/fdfs/ 目录下,并修改该文件的内容:

vim /etc/fdfs/mod_fastdfs.conf
tracker_server=182.254.171.122:22122 #跟踪器

url_have_group_name = true

storage_server_port=23000

group_name=group1

store_path0=/home/yubajin/fastdfs

接下来,回到 nginx下载文件的解压目录中,对nginx重新config,执行如下命令,重新配置编译安装:

cd /home/yubajin/devtools/nginx-1.17.0
./configure --add-module=/usr/local/fastdfs-nginx-module-1.22/src/
make
make install

安装完成后,修改 nginx 的配置文件,如下

vim /usr/local/nginx/conf/nginx.conf
server{
    listen     80;
    server_name     localhost;
    location /group1/M00/{
        ngx_fastdfs_module;
    }
}

在这里配置 nginx 请求转发。

配置完成后,启动 nginx,看到如下日志,表示 nginx 启动成功:

/usr/local/nginx/sbin/nginx -s reload
ngx_http_fastdfs_set pid=9908

查看是否配置fastdfs-nginx-module

/usr/local/nginx/sbin/nginx -V
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值