(自己的项目路径)相关项目在web部分中priv.lirenhe.fastdfs

官方提供一个fastdfs开发项目,下载下来maven install

以下内容是借鉴网上的一篇文章,但是不知道网址了,如果侵权了,望告知。

使用方法:

1、把FastDFS提供的项目maven install

2、初始化全局配置。加载一个配置文件。

3、创建一个TrackerClient对象。

4、创建一个TrackerServer对象。

5、声明一个StorageServer对象,null。

6、获得StorageClient对象。

7、直接调用StorageClient对象方法上传文件即可。

@Test

public void testUpload() throws Exception {

// 1、把FastDFS提供的jar包添加到工程中

// 2、初始化全局配置。加载一个配置文件。

ClientGlobal.init("D:\\workspaces-itcast\\JaveEE18\\taotao-manager\\taotao-manager-web\\src\\main\\resources\\properties\\client.conf");

// 3、创建一个TrackerClient对象。

TrackerClient trackerClient = new TrackerClient();

// 4、创建一个TrackerServer对象。

TrackerServer trackerServer = trackerClient.getConnection();

// 5、声明一个StorageServer对象,null。

StorageServer storageServer = null;

// 6、获得StorageClient对象。

StorageClient storageClient = new StorageClient(trackerServer, storageServer);

// 7、直接调用StorageClient对象方法上传文件即可。

String[] strings = storageClient.upload_file("D:\\Documents\\Pictures\\images\\2f2eb938943d.jpg", "jpg", null);

for (String string : strings) {

System.out.println(string);

}

}

Client.conf

tracker_server=192.168.25.133:22122


以下是自己遇到的问题以及解决办法。

由于没有打开# the storage server port导致连接超时。解决方法如下:

https://www.cnblogs.com/nbf-156cwl/articles/FastDFS.html

https://blog.csdn.net/jsflzhong/article/details/51647481

1.查看打开的端口:

#/etc/init.d/iptables status

可以知道23000,也就是storage server port没有打开,被防火墙拦截。修改:/etc/sysconfig/iptables文件,详细如下增加命令:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 23000 -j ACCEPT

然后重启:service iptables restart

开发需要在linux中启动的服务:

启动tracker。/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

启动tracker  /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

启动测试    [root@localhost /etc/fdfs]# /usr/bin/fdfs_test /etc/fdfs/client.conf upload anti-steal.jpg

启动nginx   /usr/local/nginx/sbin/nginx -s reload

1.1 使用工具类上传图片

@Test

public void testFastDfsClient() throws Exception {

FastDFSClient client = new FastDFSClient("D:\\workspaces-itcast\\JaveEE18\\taotao-manager\\taotao-manager-web\\src\\main\\resources\\properties\\client.conf");

String uploadFile = client.uploadFile("D:\\Documents\\Pictures\\images\\200811281555127886.jpg", "jpg");

System.out.println(uploadFile);

}

工具类在以下链接中。

fastdfs开发完整样例和开发包链接:https://download.csdn.net/download/mark_lirenhe/10484666

Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第十二集之FastDFS的使用】的更多相关文章

  1. solr安装-tomcat+solrCloud构建稳健solr集群

    solrCloud的搭建可以有两种方式:使用solr内嵌的jetty来搭建:使用外部web容器tomcat来搭建.对于使用jett来搭建参考solr官方的手册照着做肯定ok,下面我主要讲的是如何使用t ...

  2. Linux安装Tomcat外部不能访问

    Linux安装Tomcat后本地可以正常访问,可是这时Tomcat还不能被外界访问需要在Linux默认防护墙上打开8080端口 打开 /etc/sysconfig/iptables [root@loc ...

  3. Linux 安装tomcat 及过程中遇到的问题

    Linux 安装tomcat(tomcat能用的前提是系统已经安装jdk) 1.下载linux系统版tomcat,解压后通过ftp上传到Linux服务器     例:tomcat放在 /opt/tom ...

  4. linux安装tomcat后启动报错Cannot find ./catalina.sh的解决方法

    linux安装tomcat后启动报错: Cannot find ./catalina.shThe file is absent or does not have execute permissionT ...

  5. Linux 安装 Tomcat 详细教程

    Linux 安装Tomcat详细步骤 1. 前往tomcat官网复制下载链接, tomcat官网地址:https://tomcat.apache.org/ 2. 进入到指定目录,使用 wget 命令下 ...

  6. 分布式缓存技术redis学习系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

    本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...

  7. 分布式缓存技术redis学习(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

    本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...

  8. Linux集群架构(二)

    Linux集群架构(二) 目录 八.LVS DR模式搭建 九.keepalived + LVS 十.扩展 八.LVS DR模式搭建 1.实验环境: 四台机器: client: 10.0.1.50 Di ...

  9. 分布式缓存技术redis系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

    本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...

  10. redis高级应用(集群搭建、集群分区原理、集群操作)

    文章主目录 Redis集群简介 Redis集群搭建 Redis集群分区原理 集群操作 参考文档 本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 ...

随机推荐

  1. [PHP]PDO各方法在发生MYSQL断开时的反应

    1.mixed PDO::errorCode ( void ) 如果单独执行此语句,并不能判断此时MYSQL是否已断开,它返回最上一次对MYSQL操作的错误码 2.public array PDO:: ...

  2. Linux学习之CentOS(三)--初识linux的文件系统以及用户组等概念

    Linux学习之CentOS(三)--初识linux的文件系统以及用户组等概念 进入到了Linux学习之CentOS第三篇了,这篇文章主要记录下对linux文件系统的初步认识,以及用户组.用户权限.文 ...

  3. 洛谷 P3627 [APIO2009]抢掠计划

    这题一看就是缩点,但是缩完点怎么办呢?首先我们把所有的包含酒吧的缩点找出来,打上标记,然后建立一张新图, 每个缩点上的点权就是他所包含的所有点的点权和.但是建图的时候要注意,每一对缩点之间可能有多条边 ...

  4. 页面初始化的js函数要放在最最最最最最最前边!否则没效果

    简单说一下这个情况,html的页面的各部分都是动态渲染的,所以头部的某些个样式调用函数需要在页面初始化的时候被加载,这个我也是知道的,结果后边代码敲着敲着,就把这个事儿给忘了,然后启动项目的时候,页面 ...

  5. bzoj 5418

    这是拓展crt的典型应用 在你开始做之前,我一定要告诉你一件事情:虽然这道题看着和拓展crt模板很像,但他俩是有巨大的区别的!不要直接把板子改吧改吧扔上去! 题目模型:求解模线性方程组 其中p1,p2 ...

  6. getComputedStyle()用法详解

    那如果元素即没有在style属性中设置宽高,也没有在样式表中设置宽高,还能用getComputedStyle或currentStyle获取吗?答案是getComputedStyle可以,current ...

  7. Python实现switch效果

    Java中有switch这个东东有的地方使用switch感觉还挺好使,但是Python没有提供switch这个东东,下面我们想办法来完成类似Java和C里面的那种switch效果. Java示例代码: ...

  8. Python字符串编码转换

    使用encode()方法编码 str.encode([encoding="utf-8"][,errors="strict"]) str:表示需要转换的字符串 e ...

  9. BZoj 2301 Problem b(容斥定理+莫比乌斯反演)

    2301: [HAOI2011]Problem b Time Limit: 50 Sec  Memory Limit: 256 MB Submit: 7732  Solved: 3750 [Submi ...

  10. Just Oj 2017C语言程序设计竞赛高级组D: 字符串最大表示(next数组)

    D: 字符串最大表示 时间限制: 1 s      内存限制: 128 MB 题目描述 有如下定义,abcnabcn表示字符串abc重复n次,例如abc2abc2表示abcabc. 给定一个字符串,求 ...