Linux下玩转FastDFS

引言

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

FastDFS环境搭建
安装环境准备

FastDFS是C语言开发,建议在linux上运行,本教程使用Centos6.8作为安装环境。

  1. 安装gcc 依赖环境(yum install gcc-c++ -y
  2. 安装libevent(yum -y install libevent
  3. 安装perl库(yum install perl*
  4. 安装zlib(yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget

以上4个命令依次执行即可

安装libfastcommon

将要用到的工具包上传到centos的opt目录下
在这里插入图片描述
可通过命令查看opt目录下的文件
在这里插入图片描述
使用命令chmod +x 对刚刚传输过来的文件进行授权

在这里插入图片描述

  • 解压libfastcommonV1.0.7.tar.gz(tar -zxvf libfastcommonV1.0.7.tar.gz
  • 进入到解压后的文件夹中(cd libfastcommon-1.0.7/
  • 进行编译(./make.sh
  • 安装(./make.sh install
  • 注意:libfastcommon安装好后会自动将库文件拷贝至/usr/lib64下,由于FastDFS程序引用usr/lib目录所以需要将/usr/lib64下的库文件拷贝至/usr/lib下(cp /usr/lib64/libfastcommon.so /usr/lib/

以上命令无需截图,按顺序执行下来就行了,亲测有效.

安装tracker(FastDFS_v5.05.tar.gz)
  • 在opt目录下新建一个目录fastdfs用于存储文件(mkdir /opt/fastdfs
  • 解压FastDFS_v5.05.tar.gz(tar -zxvf FastDFS_v5.05.tar.gz
  • 进入目录(cd FastDFS
  • 进行编译(./make.sh
  • 安装(./make.sh install
  • 进入conf配置目录将文件都拷贝到/etc/fdfs(安装时自动生成)(cd /FastDFS/conf )( cp * /etc/fdfs
  • 进入/etc/fdfs/,配置tracker.conf(vi /etc/fdfs/tracker.conf
    在这里插入图片描述
    替换成以下配置(base_path=/opt/fastdfs)
    在这里插入图片描述
  • storage的配置(storage不需要安装,因为安装tracker时已经同时安装)(vi storage.conf)这个文件也在/etc/fdfs目录下
    在这里插入图片描述
    在这里插入图片描述
  • fdfs_storage这个目录需要新建
    在这里插入图片描述

base_path=/opt/fastdfs
store_path0=/opt/fastdfs/fdfs_storage
tracker_server=192.168.219.130:22122(换成自己的Ip即可)
别忘了在/opt/fastdfs/目录下新建fdfs_storage目录

配置tracker和storage的启动服务
  • 进入/etc/init.d启动脚本目录,默认fastdfs已经生成(cd /etc/init.d)
  • 编辑fdfs_trackerd脚本文件(vi fdfs_trackerd)
    在这里插入图片描述

在这里插入图片描述

  • 因为启动脚本还在安装目录下,所以我们新建/usr/local/fdfs目录,并且将启动脚本cp到该目录(mkdir /usr/local/fdfs)
  • 进入安装目录/opt/FastDFs(cd /opt/FastDFS)
  • cp restart.sh /usr/local/fdfs
  • cp stop.sh /usr/local/fdfs
  • 配置storage启动服务(restart和stop脚本已经拷贝到/usr/local/fdfs下,所以storage只需要配置/etc/init.d/fdfs_storage脚本就可以了cd /etc/init.d)
  • vi fdfs_storaged
    在这里插入图片描述
    在这里插入图片描述
  • 将启动脚本加入linux服务

chkconfig --add fdfs_trackerd
chkconfig --add fdfs_storaged

  • 启动脚本

service fdfs_trackerd start
service fdfs_storaged start

  • 输入ps -ef|grep fdfs查看进程!
    在这里插入图片描述
测试
  • 编辑/etc/fdfs/目录下client.conf文件
  • vi /etc/fdfs/client.conf
    在这里插入图片描述

base_path=/opt/fastdfs
tracker_server=192.168.216.130:22122

传输一张图片到root目录下

  • 进入root目录cd /root
  • 执行/usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/1.jpg
    在这里插入图片描述

可以看到上传后的图片地址,现在到windows上是不能访问的。
要想windows能访问,需要借助nginx
可以到cd /opt/fastdfs/fdfs_storage/data目录下看到文件
在这里插入图片描述

安装FastDFS-nginx-module插件
  • 进入opt目录(cd /opt
  • 解压fastdfs-nginx-module_v1.16.tar.gz(tar -zxvf fastdfs-nginx-module_v1.16.tar.gz)
  • 进入目录(cd fastdfs-nginx-module)
  • 进入src目录(cd src
  • 编辑config文件(vi config
    在这里插入图片描述

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

  • 将FastDFS-nginx-module插件整合fdfs的配置文件拷贝到fdfs的配置目录下(整合fdfs的配置文件)
    FastDFS-nginx-module/src下的mod_fastdfs.conf拷贝至/etc/fdfs/下(这里面是两个路径)
  • cp mod_fastdfs.conf /etc/fdfs
  • 编辑/etc/fdfs/mod_fastdfs.conf文件(vi /etc/fdfs/mod_fastdfs.conf
    软件安装目录
    Tracker_server地址
    Web的url是否包含group的路径名
    上传文件存储目录

base_path=/opt/fastdfs
tracker_server=192.168.216.129:22122
url_have_group_name = true
store_path0=/opt/fastdfs/fdfs_storage

安装nginx
  • 创建nginx/client目录(mkdir -p /var/temp/nginx/client
  • 进入opt目录(cd /opt
  • 解压nginx-1.12.2.tar.gz(tar -zxvf nginx-1.12.2.tar.gz
  • 进入解压目录(cd nginx-1.12.2

一次性执行

./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--add-module=/opt/fastdfs-nginx-module/src

看到以下界面就说明执行成功了
在这里插入图片描述

  • 编译(make

  • 安装(make install

  • 修改nginx配置文件(vi /usr/local/nginx/conf/nginx.conf
    在这里插入图片描述

  • 进入/usr/local/nginx目录(cd /usr/local/nginx

  • 进入sbin(cd sbin

  • 启动nginx(./nginx

需要关闭防火墙
service iptables stop
永久关闭 chkconfig iptables off
到windows访问
在这里插入图片描述

设置开机启动nginx

vi /etc/rc.d/rc.local
touch /var/lock/subsys/local
/usr/local/nginx/sbin/nginx

下期再见。。。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小薛博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值