(5)Centos6.X安装FastDFS(伪分布)

1.什么是FastDFS

      FastDFS是用c语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
     FastDFS架构包括 Tracker serverStorage server。客户端请求Tracker server进行文件上传、下载。通过Tracker server调度最终由Storage server完成文件上传和下载。Tracker server作用是负载均衡和调度,通过Tracker server在文件上传时可以根据一些策略找到Storage server提供文件上传服务。可以将tracker称为追踪服务器或调度服务器。Storage server作用是文件存储,客户端上传的文件最终存储在Storage服务器上,Storage server没有实现自己的文件系统而是利用操作系统 的文件系统来管理文件。可以将storage称为存储服务器。

如下图:

这里写图片描述

在本篇博客中就介绍一下如何安装FastDFS的伪分布,并且通过http访问我们上传的图片。

2.安装环境

      在安装FastDFS伪分布之前,首先说一下我电脑的配置。

  • 操作系统:Centos6.7
  • 安装软件使用root用户(害怕某些权限不够)
  • FastDFS的版本为v5.05
  • nginx的版本为1.8.0
  • 本机的内网ip地址为:192.168.232.131(很重要)
  • tracker的储存地址为:/usr/local/fastdfs/home
  • storage的储存地址为:/usr/local/fastdfs/storage
  • storage的日志地址为:/usr/local/fastdfs/home (伪分布,为了方便,设置的和tracker储存地址一样,也可以不一样)

3.安装FastDFS

3.1 安装FastDFS依赖

#在Centos6.7s上不需要执行此命令(自带)
yum -y install gcc-c++
#FastDFS依赖libevent库
yum -y install libevent

3.2 安装libfastcommon

      libfastcommonFastDFS官方提供的,libfastcommon包含了FastDFS运行所需要的一些基础库。libfastcommon的下载地址为:libfastcommon下载链接

  • libfastcommon上传linux,并解压缩
#解压文件
tar -zxvf ibfastcommonV1.0.7.tar.gz
#进入文件夹
cd libfastcommon-1.0.7
#编译文件
./make.sh
#安装libfastcommon
./make.sh install
#libfastcommon安装好后会自动将库文件拷贝至/usr/lib64下,由于FastDFS程序引用usr/lib目录所以需要将/usr/lib64下的库文件拷贝至/usr/lib下
cp /usr/lib64/libfastcommon.so /usr/lib/

这里写图片描述

这里写图片描述

这里写图片描述

3.3 FastDFS编译安装

  • FastDFS上传并编译安装tracker
#解压压缩包
tar -zxvf FastDFS_v5.05.tar.gz
#进入FastDFS目录
cd FastDFS
#编译FastDFS
./make.sh
#安装FastDFS,安装成功,会生成/etc/fdfs目录
./make.sh install
#将conf目录下的配置文件拷贝到/etc/fdfs
cp conf/* /etc/fdfs/
  • 修改tracker的配置文件
#创建`tracker`的储存目录
mkdir -p /usr/local/fastdfs/home
#使用tracker.conf.sample覆盖掉原有的tracker.conf
cp tracker.conf.sample tracker.conf
#修改/etc/fdfs/tracker.conf文件
vim /etc/fdfs/tracker.conf
#修改/etc/fdfs/tracker.conf文件的base_path变量为我们刚创建的目录
base_path=/usr/local/fastdfs/home
#启动tracker服务
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
#查看服务是否启动成功
ps -aux|grep tracker
#配置开机自启动(在/etc/rc.d/rc.local)文件中添加如下命令
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

修改内容

这里写图片描述

启动成功

这里写图片描述

开机自启动

这里写图片描述

  • 安装storage,修改配置文件 storage.conf
#创建storage储存目录
mkdir -p /usr/local/fastdfs/storage
#编辑配置文件
vim /etc/fdfs/storage.conf
#修改的内容有
#默认group_name=group1,这里不需要修改
group_name=group1
#修改base_path:这里是日志文件,使用tracker创建的文件/usr/local/fastdfs/home
base_path=/usr/local/fastdfs/home
#修改store_path0,为实际存储路径/usr/local/fastdfs/storage,如果有多个路径还可以添加(store_path1=..  store_path2=......)
store_path0=/usr/local/fastdfs/storage
#指定tracker的地址(哪怕是伪分布,此处也千万不要写localhost)
tracker_server=192.168.232.131:22122
#启动storage服务
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
#查看服务是否启动
ps -aux|grep storage
#配置服务自启动,在(/etc/rc.d/rc.local)文件中添加下面代码
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

这里写图片描述

3.4 验证FastDFS是否安装成功

  • 修改配置文件用于验证
#编辑/etc/fdfs/client.conf文件
vim /etc/fdfs/client.conf
#修改base_path参数和tracker_server参数
base_path=/usr/local/fastdfs/home
tracker_server=192.168.232.131:22122

这里写图片描述

  • 验证文件是否可以上传
#将/root/software/test.png上传到FastDFS服务器
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/software/test.png

上传成功

这里写图片描述

4.FastDFSnginx整合

      由于现在还没有和nginx整合,所以无法在浏览器中查看上传的图片,要想实现FastDFSnginx整合,需要使用FastDFS 所提供的整合包FastDFS-nginx-module_v1.16.tar.gzFastDFS-nginx-module_v1.16.tar.gz的下载链接为:FastDFS-nginx-module_v1.16.tar.gz下载链接
      由于我们是搭建的是伪分布,只有一台电脑,所以就不需要考虑nginx安装位置问题。

4.1 安装整合模块

#解压安装包
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
#进入安装文件src目录
cd fastdfs-nginx-module/src/
#修改配置文件config,将/usr/local/路径改为/usr/(一共修改三处,如下图所示)
#将src目录的mod_FastDFS.conf复制到/etc/fdfs/目录下面
cp mod_fastdfs.conf /etc/fdfs/
#修改mod_fastdfs.conf文件的内容,base_path、tracker_server(可配置多个)、url_have_group_name、store_path0(可配置多个)
base_path=/usr/local/fastdfs/home
tracker_server=192.168.232.131:22122
url_have_group_name=true
store_path0=/usr/local/fastdfs/storage
#将libfdfsclient.so拷贝至/usr/lib下
cp /usr/lib64/libfdfsclient.so /usr/lib/
#创建nginx/client目录
mkdir -p /var/temp/nginx/client

config配置文件

这里写图片描述

4.2 安装nginx

  • 安装nginx依赖库
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
  • 安装nginx
#上传nginx,并解压
tar -zxvf nginx-1.8.0.tar.gz
#进入nginx目录
cd nginx-1.8.0
#创建nginx临时目录
mkdir -p /var/temp/nginx
#配置nginx(prefix配置nginx的安装目录,add-module指定我们的整合插件地址)
./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=/root/software/fastdfs-nginx-module/src
#编译
make
#安装(会在/usr/local/下生成nginx文件夹)
make install
  • 修改nginx的配置文件(nginx.conf,修改该文件的Server节点,如下)
 server {
        listen       80;
        server_name  192.168.232.131;
        location /group1/M00/{
            ngx_fastdfs_module;
        }
    }

这里写图片描述

备注:
server_name是本机的ip地址(不要写localhost)
/group1/M00/是根据我们上传的图片的地址确定的

  • 启动nginx
#启动nginx命令
./nginx
#重新加载nginx命令
./nginx -s reload

这里写图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值