当前位置:   article > 正文

FastDFS部署

fastdfs部署

概述

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

FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

系统版本

在这里插入图片描述

基础环境

yum install -y gcc gcc-c++
yum -y install libevent
  • 1
  • 2

部署所需资源包

libfatscommon:FastDFS分离出的一些公用函数包
FastDFS:FastDFS本体
Nginx:Nginx
fastdfs-nginx-module:FastDFS和nginx的关联模块
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

解压libfastcommon函数库

这里用的函数库是zip包

unzip libfastcommon-master.zip
  • 1

tar包解压命令

tar -zxvf libfastcommon-xxx.tar.gz
  • 1

解压后进入libfastcommon-master文件夹,然后变异和安装

./make.sh
./make.sh install
  • 1
  • 2

解压FastDFS包

tar -zxvf fastdfs-5.11.tar.gz
  • 1

进入fastdfs-5.11目录,安装fastdfs

./make.sh
./make.sh install
# `/usr/bin`中包含了可执行文件`,/etc/fdfs`包含了配置文件
  • 1
  • 2
  • 3

将fastdfs的配置文件复制一份到/etc/fdfs下面

cp /home/fastdfs-5.11/conf/* /etc/fdfs/
  • 1

配置Tracker服务

进入到/etc/fdfs目录下面,修改tracker配置文件中的tracker工作目录,保存数据以及日志

vim tracker.conf
#/base_path 快速查找
#找到base_path修改成如下
base_path=/usr/local/fastdfs/tracker # 根据自己喜好自定义路径
  • 1
  • 2
  • 3
  • 4

创建tracker目录,需要和上面修改的路径一致

mkdir /usr/local/fastdfs/tracker -p
  • 1

启动tracker服务

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

停止tracker服务

/usr/bin/stop.sh /etc/fdfs/tracker.conf
  • 1

不过安装过程中,fdfs已经被设置为系统服务,我们可以采用熟悉的服务启动方式:

service fdfs_trackerd start # 启动fdfs_trackerd服务,停止用stop
  • 1

查看tracker服务是否启动

ps -ef | grep fdfs_trackerd
  • 1

在这里插入图片描述
设置tracker服务开机自启动

chkconfig fdfs_trackerd on
  • 1

配置storage服务

vim storage.conf

# 修改storage的工作空间
base_path=/usr/local/fastdfs/storage
# 修改storage的存储空间
store_path0=/usr/local/fastdfs/storage
# 修改tracker的地址和端口号,用于心跳
tracker_server=服务器IP:22122
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

创建目录

mkdir /usr/local/fastdfs/storage -p
  • 1

启动storage服务

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

关闭storage服务

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf stop
  • 1

推荐使用:

service fdfs_storaged start  # 启动fdfs_storaged服务,停止用stop
  • 1

查看storage服务是否启动

ps -ef | grep fdfs_storaged
  • 1

设置storage服务开机自启动

chkconfig fdfs_storaged on
  • 1

测试文件上传

编辑client配置文件

vim client.conf

# 修改日志基本路径
base_path=/usr/local/fastdfs/client
#tracker的ip根据实际tracker的ip地址配置 不一致会导致文件浏览失败的问题
tracker_server=服务器IP:22122
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

创建目录

mkdir /usr/local/fastdfs/client
  • 1

编辑测试文件

echo "Hello World!" > index.html
  • 1

上传文件

#上传/etc/fdfs目录下的anti-steal.jpg文件进行测试
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /etc/fdfs/index.html
  • 1
  • 2

出现以下内容证明已经上传成功了
!](https://img-blog.csdnimg.cn/19f0f8f3ea874f50be2ddd315a46804a.png#pic_center)

存储目录(在前面配置的storage的store_path0=/usr/local/fastdfs/storage下),url为远程访问地址,这里还不能远程访问,配置了nginx模块后才能访问

解压fastdfs-nginx-master包

在这里插入图片描述

 unzip fastdfs-nginx-module-master.zip
  • 1

进入 unzip fastdfs-nginx-module-master中的src目录下,赋值配置文件

# 进入解压包下的src目录
cd fastdfs-nginx-module-master/src/
# 复制配置文件
cp mod_fastdfs.conf /etc/fdfs
  • 1
  • 2
  • 3
  • 4

清空文件内容

> filename # 或者cat /dev/null > filename
  • 1

修改src目录下的config内容

ngx_addon_name=ngx_http_fastdfs_module
 
if test -n "${ngx_module_link}"; then
    ngx_module_type=HTTP
    ngx_module_name=$ngx_addon_name
    ngx_module_incs="/usr/local/include/fastdfs /usr/include/fastcommon/"
    ngx_module_libs="-lfastcommon -lfdfsclient"
    ngx_module_srcs="$ngx_addon_dir/ngx_http_fastdfs_module.c"
    ngx_module_deps=
    CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='\"/etc/fdfs/mod_fastdfs.conf\"'"
    . auto/module
else
    HTTP_MODULES="$HTTP_MODULES ngx_http_fastdfs_module"
    NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_fastdfs_module.c"
    CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/include/fastcommon/"
    CORE_LIBS="$CORE_LIBS -lfastcommon -lfdfsclient"
    CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='\"/etc/fdfs/mod_fastdfs.conf\"'"
fi

ngx_module_incs="/usr/local/include/fastdfs /usr/include/fastcommon/
CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/include/fastcommon/
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

修改/etc/fdfs/目录下的mod_fastdfs配置文件

vim mod_fastdfs.conf

base_path=/usr/local/fastdfs/tmp
#tracker地址
tracker_server=trackerIP地址:22122
url_have_group_name = true
store_path0=/usr/local/fastdfs/storage
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

创建目录

mkdir /usr/local/fastdfs/tmp
  • 1

安装Nginx

nginx安装教程

注意在nginx解压完进行./configure需改为如下命令,需要增加一个fastdfs-nginx-module模块,即下面的最后一行,以实际路径为准

./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35 --add-module=/home/fastdfs-nginx-module-master/src
  • 1

然后修改在nginx的配置文件中添加代理

server {
    listen       8888;
    server_name  localhost;
 
    location /group1/M00 {
            ngx_fastdfs_module;
    }
 
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

最后重启nginx,浏览输入返回的链接

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/441443
推荐阅读
相关标签
  

闽ICP备14008679号