提示:如果在这里还没有安装Fastdfs的话可以参考:censtos下安装FastDFS

一、FastDFS的Nginx模块

资料: https://pan.baidu.com/s/14YQCvuMIRMj_JuSyJyfezg  提取码:jg46

解压:

tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

配置config文件:

# 进入配置目录
cd /home/upload/fdfs/fastdfs-nginx-module/src/
# 修改配置
vim config
# 执行下面命令(将配置中的/usr/local改为/usr):
:%s+/usr/local/+/usr/+g

配置mod_fastdfs.conf

# 将src目录下的mod_fastdfs.conf复制到 /etc/fdfs目录:
cp mod_fastdfs.conf /etc/fdfs/
# 编辑该文件vim /etc/fdfs/mod_fastdfs.conf

修改配置:

connect_timeout=5                       # 客户端访问文件连接超时时长(单位:秒)
tracker_server=192.168.161.146:22122   # tracker服务IP和端口
url_have_group_name=true                   # 访问链接前缀加上组名
store_path0=/upload/fdfs/storage               # 文件存储路径

复制 FastDFS的部分配置文件到/etc/fdfs目录

cd /home/upload/fdfs/FastDFS/conf/
cp http.conf mime.types /etc/fdfs/

二、安装Nginx

解压

tar -zxvf nginx-1.14.2.tar.gz
#然后
cd nginx-1.14.2

配置

sudo ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/home/upload/fdfs/fastdfs-nginx-module/src

然后编译安装

make && make install

配置nginx整合fastdfs-module模块

我们需要修改nginx配置文件,在/opt/nginx/config/nginx.conf文件中:

vim /opt/nginx/conf/nginx.conf

将文件中,原来的server 80{ ...} 部分代码替换为如下代码:

 server {listen       80;#这个可以去c盘 \Windows\System32\drivers\etc 下的hosts进行配置 server_name  www.image.com; # 监听域名中带有group的,交给FastDFS模块处理location ~/group([0-9])/ {ngx_fastdfs_module;}location / {root   html;index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}

然后启动nginx:

nginx # 启动
nginx -s stop # 停止
nginx -s reload # 重新加载配置

如果出现如图所示:说明配置成功:

3、创建项目实现图片上传、

3.1:引入对应依赖:这里使用一个开源的FastDFS客户端

地址:https://github.com/tobato/FastDFS_Client

maven配置:

<!--SpringBoot依赖-->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
<relativePath />
<!--fastdfs-client依赖-->
<dependency><groupId>com.github.tobato</groupId><artifactId>fastdfs-client</artifactId><version>1.26.5</version>
</dependency><!--测试-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><version>2.0.0.RELEASE</version></dependency>

3.2、将FastDFS-Client客户端引入本地化项目的方式非常简单,在SpringBoot项目/src/[com.xxx.主目录]/conf当引入配置类     如下:

@Configuration
@Import(FdfsClientConfig.class)
// 解决jmx重复注册bean的问题
@EnableMBeanExport(registration = RegistrationPolicy.IGNORE_EXISTING)
public class FastClientImporter {}

3.3 在resoures 下的application.yml 编写FastDfs属性:

fdfs:so-timeout: 1501 #请求超时时间connect-timeout: 601 #连接超时时间thumb-image: # 缩略图 大小设置width: 80height: 80tracker-list: # tracker地址- 192.168.161.147:22122

3.4、编写测试类

/**** @author acer* @create 2019/1/15* @since 1.0.0*/
@RunWith(SpringRunner.class)
@SpringBootTest
public class FdfsTest {@Autowiredprivate FastFileStorageClient storageClient;@Autowiredprivate ThumbImageConfig thumbImageConfig;@Testpublic void testUploadAndCreateThumb() throws FileNotFoundException {File file = new File("E:\\mm.png");// 上传并且生成缩略图StorePath storePath = this.storageClient.uploadImageAndCrtThumbImage(new FileInputStream(file), file.length(), "png", null);// 带分组的路径System.out.println(storePath.getFullPath());// 不带分组的路径System.out.println(storePath.getPath());// 获取缩略图路径String path = thumbImageConfig.getThumbImagePath(storePath.getPath());System.out.println(path);}
}

3.5、测试结果 如图:

3.6、启动nginx 进行访问地址 :http://image.yl.com/group1/M00/00/00/wKihk1w9646AKaNVABF8ik-Os-M715.png

测试缩略图:访问 http://image.yl.com/group1/M00/00/00/wKihk1w9646AKaNVABF8ik-Os-M715_80x80.png

Nginx集成FastDFS模块实现图片上传相关推荐

  1. 商城项目笔记一:搭建Maven工程,利用Dubbo实现SOA面向服务框架,部署zookeeper注册中心,FastDFS框架实现图片上传,部署nginx服务器。

    文章目录 1. 商城项目总结笔记: 1.1. 第一天工作记录:搭建Maven工程 1.2. 第二天工作记录:创建SOA面向服务架构,通过工具类实现分页技术 1.3. 第三天工作记录:部署nginx服务 ...

  2. 06_04_任务一:拉勾教育后台管理系统[课程管理模块、图片上传、 BeanUtils封装实体类](SSM)

    拉勾教育后台管理系统(SSM) 1. 项目架构 1.1 项目介绍 ​ 拉勾教育后台管理系统,是提供给拉勾教育的相关业务人员使用的一个后台管理系统, 业务人员可以在 这个后台管理系统中,对课程信息.广告 ...

  3. FastDFS(分布式文件系统)图片上传

    一.什么是FastDFS FastDFS是由淘宝的余庆先生所开发的一个开源的分布式文件系统.用纯C语言开发,功能丰富: 文件存储 文件同步 文件访问(上传.下载) 存取负载均衡 在线扩容 适合有大容量 ...

  4. SpringBoot集成FastDFS依赖实现文件上传

    前言 对FastDFS文件系统安装后的使用. FastDFS的安装请参考这篇:https://www.cnblogs.com/niceyoo/p/13511082.html 本文环境:IDEA + J ...

  5. Vue、ElementUI配合Node、multiparty模块实现图片上传并反显_小demo

    我们先看一下效果图 首先,我利用了Element的一个upload组件,我们可以直接使用它. html: <!-- 上传图片 --><el-upload<!-- 文件状态改变时 ...

  6. c ajax 上传图片,ajax +NodeJS 实现图片上传实例

    前台用jquery的ajax发请求,后台用NodeJS 的multer模块实现图片上传.这个demo给我的感悟是一定要自己能实现出来,而不是看了别人写好就直接"拿来"用 note( ...

  7. Nginx、图片上传、FastDFS

    学习目标 使用域名访问本地项目 Nginx 图片上传 FastDFS实现图片上传 1.使用域名访问本地项目 1.1.统一环境 我们现在访问页面使用的是:http://localhost:8080 有没 ...

  8. Nginx 图片上传 FastDFS

    学习目标 使用域名访问本地项目 Nginx 图片上传 FastDFS实现图片上传 1.使用域名访问本地项目 1.1.统一环境 我们现在访问页面使用的是:http://localhost:8080 有没 ...

  9. CentOS7设置静态IP、搭建单机版FastDFS图片服务器、使用FastDFS-Client客户端进行简单测试、实现图片上传、实现商品添加修改删除

    CentOS7设置静态IP.搭建单机版FastDFS图片服务器.使用FastDFS-Client客户端进行简单测试.实现图片上传.实现商品添加修改删除 CentOS7设置静态IP而且还可以上网 192 ...

最新文章

  1. 134安装教程_PS教程连载第135课:PS第三方插件安装方法
  2. clientWidth、offsetWidth、clientHeight、offsetHeight的测试比较
  3. linux内存分配缺陷,Linux系统优化-内存错误分析
  4. r 语言 ggplot上添加平均值_R语言自定义两种统计量度:平均值和中位数,何时去使用?
  5. 如何将Wav文件做到EXE文件里
  6. IDEA将项目打包为指定class文件的jar
  7. oracle 查询N秒之前的数据
  8. 中小机房UPS电源及环境多方式在线监控和告警方案
  9. java都要caps标点_Java Button.setAllCaps方法代码示例
  10. 挂***方法和技巧大汇总
  11. 电脑屏保海底世界_电脑游戏假面骑士kiva中文版
  12. 怎么用python做我的世界皮肤_我的世界换肤教程 皮肤的制作使用
  13. 前端 express使用教程
  14. 怎么用计算机做求余,怎样用计算器求余数
  15. 股市风起云涌,我用Python分析周期之道
  16. linux中的文件搜索命令
  17. 聪明的猴子(BZOJ 2429)
  18. 钉钉直播 — 为什么直播屏幕共享显示黑屏?(仅针对mac端)
  19. LVGL (1) 介绍
  20. 电路设计_铝电解电容的失效原因

热门文章

  1. 杭州计算机高中分数线,2019年杭州市区高中第一批录取分数线公布!
  2. sleuth原理详解
  3. 库项目和App项目中清单文件的包名不要相同
  4. 【题库】计算机二级选择题
  5. Web前端(更新中)
  6. threejs 笔记整理
  7. JPA入门、JPQL
  8. 那些让 Web 开发者们深感意外的事情
  9. 链表反转的四种方法(栈、头插法、三指针法、递归法)
  10. 如何在Mac上使用PDF Expert编辑PDF