Nginx集成FastDFS模块实现图片上传
提示:如果在这里还没有安装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模块实现图片上传相关推荐
- 商城项目笔记一:搭建Maven工程,利用Dubbo实现SOA面向服务框架,部署zookeeper注册中心,FastDFS框架实现图片上传,部署nginx服务器。
文章目录 1. 商城项目总结笔记: 1.1. 第一天工作记录:搭建Maven工程 1.2. 第二天工作记录:创建SOA面向服务架构,通过工具类实现分页技术 1.3. 第三天工作记录:部署nginx服务 ...
- 06_04_任务一:拉勾教育后台管理系统[课程管理模块、图片上传、 BeanUtils封装实体类](SSM)
拉勾教育后台管理系统(SSM) 1. 项目架构 1.1 项目介绍 拉勾教育后台管理系统,是提供给拉勾教育的相关业务人员使用的一个后台管理系统, 业务人员可以在 这个后台管理系统中,对课程信息.广告 ...
- FastDFS(分布式文件系统)图片上传
一.什么是FastDFS FastDFS是由淘宝的余庆先生所开发的一个开源的分布式文件系统.用纯C语言开发,功能丰富: 文件存储 文件同步 文件访问(上传.下载) 存取负载均衡 在线扩容 适合有大容量 ...
- SpringBoot集成FastDFS依赖实现文件上传
前言 对FastDFS文件系统安装后的使用. FastDFS的安装请参考这篇:https://www.cnblogs.com/niceyoo/p/13511082.html 本文环境:IDEA + J ...
- Vue、ElementUI配合Node、multiparty模块实现图片上传并反显_小demo
我们先看一下效果图 首先,我利用了Element的一个upload组件,我们可以直接使用它. html: <!-- 上传图片 --><el-upload<!-- 文件状态改变时 ...
- c ajax 上传图片,ajax +NodeJS 实现图片上传实例
前台用jquery的ajax发请求,后台用NodeJS 的multer模块实现图片上传.这个demo给我的感悟是一定要自己能实现出来,而不是看了别人写好就直接"拿来"用 note( ...
- Nginx、图片上传、FastDFS
学习目标 使用域名访问本地项目 Nginx 图片上传 FastDFS实现图片上传 1.使用域名访问本地项目 1.1.统一环境 我们现在访问页面使用的是:http://localhost:8080 有没 ...
- Nginx 图片上传 FastDFS
学习目标 使用域名访问本地项目 Nginx 图片上传 FastDFS实现图片上传 1.使用域名访问本地项目 1.1.统一环境 我们现在访问页面使用的是:http://localhost:8080 有没 ...
- CentOS7设置静态IP、搭建单机版FastDFS图片服务器、使用FastDFS-Client客户端进行简单测试、实现图片上传、实现商品添加修改删除
CentOS7设置静态IP.搭建单机版FastDFS图片服务器.使用FastDFS-Client客户端进行简单测试.实现图片上传.实现商品添加修改删除 CentOS7设置静态IP而且还可以上网 192 ...
最新文章
- 134安装教程_PS教程连载第135课:PS第三方插件安装方法
- clientWidth、offsetWidth、clientHeight、offsetHeight的测试比较
- linux内存分配缺陷,Linux系统优化-内存错误分析
- r 语言 ggplot上添加平均值_R语言自定义两种统计量度:平均值和中位数,何时去使用?
- 如何将Wav文件做到EXE文件里
- IDEA将项目打包为指定class文件的jar
- oracle 查询N秒之前的数据
- 中小机房UPS电源及环境多方式在线监控和告警方案
- java都要caps标点_Java Button.setAllCaps方法代码示例
- 挂***方法和技巧大汇总
- 电脑屏保海底世界_电脑游戏假面骑士kiva中文版
- 怎么用python做我的世界皮肤_我的世界换肤教程 皮肤的制作使用
- 前端 express使用教程
- 怎么用计算机做求余,怎样用计算器求余数
- 股市风起云涌,我用Python分析周期之道
- linux中的文件搜索命令
- 聪明的猴子(BZOJ 2429)
- 钉钉直播 — 为什么直播屏幕共享显示黑屏?(仅针对mac端)
- LVGL (1) 介绍
- 电路设计_铝电解电容的失效原因