欢迎光临
我们一直在努力

记录 Java 中 FastDFS的一次简单使用

本站教程收集整理的这篇文章主要介绍了记vps云服务器录 Java 中 FastDFS的一次简单使用,本站教程本站觉得挺不错的,现在分享给大家,也给大家做个参考。

记录 Java 中 FastDFS的一次简单使用

环境搭建

环境准备

  1. 下载gcc环境

    yum install -y gcc-c++
    
  2. 下载两个依赖库

    yum -y install libevent
    
    cd /usr/local
    wget https://github.com/happyfish100/libfastcommon/archive/V1.0.43.tar.gz
    tar -zxvf V1.0.43.tar.gz
    cd libfastcommon-1.0.43/
    ./make.sh
    ./make.sh install
    
  3. 下载安装包

    wget https://github.com/happyfish100/fastdfs/archive/V6.06.tar.gz
    tar -zxvf V6.06.tar.gz
    cd fastdfs-6.06/
    ./make.sh
    ./make.sh install
    cd conf/
    cp ./* /etc/fdfs/
    

启动Tracker

  1. 配置

    cd /etc/fdfs
    cat tracker.conf
    # the base path to store data and log files
    base_path = /home/yuqing/fastdfs
    cd /home
    mkdir yuqing
    cd yuqing
    mkdir fastdfs
    chmod 777 /home/yuqing/fastdfs
    
  2. 启动

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

启动Storage

  1. 配置

    vi /etc/fdfs/storage.conf
    ###
    #tracker_server = 192.168.209.121:22122
    #tracker_server = 192.168.209.122:22122
    tracker_server = 192.168.204.133:22122
    
  2. 启动

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

Nginx安装

wget http://Nginx.org/download/Nginx-1.17.0.tar.gz
tar zxvf Nginx-1.17.0.tar.gz
cd cd Nginx-1.17.0
yum -y install pcre-devel
yum -y install openssl openssl-devel
./configure
make
make install
/usr/local/Nginx/sbin/Nginx

fastdfs-Nginx-module安装

cd /usr/local
wget https://github.com/happyfish100/fastdfs-Nginx-module/archive/V1.22.tar.gz
tar -zxvf V1.22.tar.gz
cp fastdfs-Nginx-module-1.22/src/mod_fastdfs.conf /etc/fdfs/
vi /etc/fdfs/mod_fastdfs.conf
#tracker_server=tracker:22122
tracker_server=127.0.0.1:22122
#url_have_group_name = false
url_have_group_name = true

重新编译安装Nginx

cd /usr/local/Nginx-1.17.0
./configure --add-module=/usr/local/fastdfs-Nginx-module-1.22/src
make
make install

##配置Nginx

vi /usr/local/Nginx/conf/Nginx.conf

LOCATIOn ~/group([0-9]) {
      ngx_fastdfs_module;
}

重启Nginx

lsof -i:80
kill -9 PID
/usr/local/Nginx/sbin/Nginx
ngx_http_fastdfs_set pid=15596[启动成功]

Java 客户端调用

  1. 创建一个普通的 Maven 工程,添加如下依赖:

    <dependency>
        <groupId>net.oschina.zcx7878</groupId>
        <artifactId>fastdfs-client-java</artifactId>
        <version>1.27.0.0</version>
    </dependency>
    
  2. 上传文件

    public static void uploadFile() {
            try {
                ClientGlobal.initByProperties("client.properties");
                TrackerClient trackerClient = new TrackerClient();
                TrackerServer trackerServer = trackerClient.getConnection();
                StorageServer storageServer = null;
                StorageClient1 storageClient = new StorageClient1(trackerServer,storageServer);
    
                String url = storageClient.upload_file1("C:\\Users\\qzf\\Desktop\\p.jpg", "jpg", @R_262_6633@
                System.out.println(url); // group1/M00/00/00/wKjMhV5h_QWAWXR0AACJiovU6KI120.jpg
    
            } catch (IOException E) {
                e.printstacktrace();
            } catch (MyException E) {
                e.printstacktrace();
            }
    

    http://192.168.204.133/group1/M00/00/00/wKjMhV5h_QWAWXR0AACJiovU6KI120.jpg

  3. 下载文件

    public static void downloadFile() {
            try {
                ClientGlobal.initByProperties("client.properties");
                TrackerClient trackerClient = new TrackerClient();
                TrackerServer trackerServer = trackerClient.getConnection();
                StorageServer storageServer = null;
                StorageClient1 storageClient1 = new StorageClient1(trackerServer,storageServer);
                byte[] bytes = storageClient1.download_file1("group1/M00/00/00/wKjMhV5h_QWAWXR0AACJiovU6KI120.jpg");
                FiLeoutputStream fos = new FiLeoutputStream(new File("C:\\Users\\qzf\\Desktop\\pp.jpg"));
                fos.write(bytes);
                fos.close();
                } catch (IOException E) {
                e.printstacktrace();
            } catch (MyException E) {
                e.printstacktrace();
            }
        }
    

本站总结

以上是本站教程为你收集整理的记录 Java 中 FastDFS的一次简单使用全部内容,希望文章能够帮你解决记录 Java 中 FastDFS的一次简单使用所遇到的程序开发问题。

如果觉得本站教程网站内容还不错,欢迎将本站教程推荐给好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。