FastDfs分布式文件系统+Ngnix安装

1 FastDFS简介
FastDFS是用c语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
2 .FastDFS架构
这里写图片描述
3. 搭建图片服务器
这里写图片描述
3.1 案例的架构
这里写图片描述
3.2 所需要的编译环境
1、需要gcc的环境。需要make
yum install gcc-c++
2、需要安装libevent工具包。
FastDFS依赖libevent库,需要安装:
yum -y install libevent
3.3 Tracker server的安装
第一步:需要把FastDFS的源码包上传到服务器。
这里写图片描述
这里写图片描述
第二步:安装libfastcommonV1.0.7.tar.gz工具包。
1、解压缩
[root@bogon ~]# tar -zxvf libfastcommonV1.0.7.tar.gz
2、Make
[root@bogon libfastcommon-1.0.7]# ./make.sh
3、[root@bogon libfastcommon-1.0.7]# ./make.sh install
4、从/usr/lib64下复制libfastcommon.so到/usr/lib文件夹下。
[root@bogon lib64]# cp libfastcommon.so ../lib
第三步:解压缩FastDFS_v5.05.tar.gz包
第四步:编译FastDFS的源码。使用make.sh
[root@bogon FastDFS]# ./make.sh
第五步:安装。
[root@bogon FastDFS]# ./make.sh install
这里写图片描述
第六步:在/etc/fdfs/目录下有配置文件的样例。
可以把fast源码包下的配置文件(/root/FastDFS/conf)复制到/etc/fdfs目录下。
[root@bogon conf]# cp * /etc/fdfs/

第七步:修改tracker.conf配置文件。
这里写图片描述
主要是修改配置文件存放的路径,路径必须是存在的。
第八步:启动tracker server。
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

[root@bogon bin]# ./fdfs_trackerd /etc/fdfs/tracker.conf restart
[root@bogon bin]# ps aux|grep fdfs
root 2935 0.0 0.5 16132 2728 ? Sl 18:55 0:00 ./fdfs_trackerd /etc/fdfs/tracker.conf restart
root 2944 0.0 0.1 4356 724 pts/0 S+ 18:55 0:00 grep fdfs
[root@bogon bin]#
3.4 Storage Server安装
第一步:安装libfastcommonV1.0.7.tar.gz工具包
第二步:参考Tracker server安装的三~六步。
第三步:修改Storaged的配置文件。
这里写图片描述
这里写图片描述
这里写图片描述
第四步:启动Storage服务器
[root@bogon fdfs]# cd /usr/bin/
[root@bogon bin]# ./fdfs_storaged /etc/fdfs/storage.conf restart
3.5 测试上传文件
fdfs_test测试文件上传。
修改修改/etc/fdfs/client.conf文件。
这里写图片描述
这里写图片描述
[root@bogon bin]# ./fdfs_test /etc/fdfs/client.conf upload /etc/fdfs/anti-steal.jpg
**

3.6 安装nginx+fastdfs的扩展模块

**
3.6.1 需要的模块
这里写图片描述
Nginx安装模块需要重新编译。
3.6.2 安装步骤
第一步:把模块上传到linux服务器。把nginx的源码上传。
这里写图片描述
第二步:解压模块的压缩包。进入源码包/root/fastdfs-nginx-module/src
第三步:修改config
把文件中的local去掉。

这里写图片描述
第四步:把mod_fastdfs.conf配置文件复制到/etc/fdfs目录下。
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
第五步:编译模块。和nginx同时编译。
1、对nginx进行config。生成一个makefile。

./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/fastdfs-nginx-module/src

2、make
3、make install
4、配置nginx的配置文件。
在nginx.conf配置文件中添加

 server {
    listen       80;
        server_name  localhost;

    location /group1/M00/{
             ngx_fastdfs_module;
        }

    }

5、启动nginx

4 图片服务器的使用

使用java客户端上传图片

使用到jar包。
这里写图片描述
4.1 使用步骤
第一步:创建一个java工程
第二步:导入FastDFSClient的jar包。
第三步:加载FastDFSClient的配置文件。
第四步:创建一个TrackerClient对象
第五步:通过TrackerClient创建一个TrackerServer对象。
第六步:创建StorageClient对象。需要TrackerServer对象需要一个StorageServer对象(null)。
第七步:StorageClient的方法上传文件。
4.2 上传文件的实现

public class FdfsClient {

    @Test
    public void testFdfsClient() throws Exception {
        // 第一步:创建一个java工程
        // 第二步:导入FastDFSClient的jar包。
        // 第三步:加载FastDFSClient的配置文件。
        ClientGlobal.init("D:\\workspaces\\0619\\FastDFSClient\\config\\client.conf");
        // 第四步:创建一个TrackerClient对象
        TrackerClient trackerClient = new TrackerClient();
        // 第五步:通过TrackerClient创建一个TrackerServer对象。
        TrackerServer trackerServer = trackerClient.getConnection();
        // 第六步:创建StorageClient对象。需要TrackerServer对象需要一个StorageServer对象(null)。
        StorageServer storageServer = null;
        StorageClient1 storageClient1 = new StorageClient1(trackerServer, storageServer);
        // 第七步:StorageClient的方法上传文件。
        //第一个参数:文件的全路径,第二个参数:文件扩展名。第三个参数:文件的一些属性,例如文件的大小、文件的原始名称。
        String[] urls = storageClient1.upload_file("D:\\Documents\\Pictures\\images\\2010062518215148.jpg", null, null);
        for (String string : urls) {
            System.out.println(string);
        }

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值