nginx--静态访问图片资源(Banner)

来源:互联网 发布:龙虎榜数据每天几点出 编辑:程序博客网 时间:2024/05/17 02:23

使用背景

之前都是用Tomcat访问图片资源,消耗比较大。使用nginx能够减少Tomcat中间件的IO,提高性能。本文介绍的是在windows环境上搭建nginx代理。

轮播图表中有这么两个字段,第一个是图片存在的物理地址(image_path),另一个是图片的访问地址,即通过静态代理访问的地址(image_url)。

代码实现

@RequestMapping("insert")    public String insert(Banner banner,BindingResult result,Model model,             MultipartFile image,HttpSession session){        BannerCon cond = new BannerCon();        cond.setName_v(banner.getName());        // 名称不能重复        long count = bannerService.queryCount(cond);        if(count > 0){            result.rejectValue("name", "", "名称不能重复");        }        // 如果上传图片为空        if(image.isEmpty()){            result.rejectValue("picture_path", "", "轮播图图片不能为空");        }        try {            // 处理图片            String imageName = image.getOriginalFilename();            // 截取后缀名            int position = 0;            if( (position = imageName.lastIndexOf(".")) > 0){                String suffix = imageName.substring(position).toLowerCase();                String prefix = UUIDGenerator.getUUID();                if(".png".equals(suffix) || ".jpg".equals(suffix)){                    String newName = prefix + suffix;                    File dest = new File(Constant.PICTURE_PATH,newName);                    image.transferTo(dest);                    // 给轮播图地址赋值                    banner.setPicture_path(dest.getAbsolutePath());// 图片的存放路径                    banner.setPicture_url(Constant.PICTURE_URL + newName);// 展示图片的路径                }else{                    result.rejectValue("picture_path", "", "只支持.png或.jpeg的图片类型");                }            }        } catch (IOException e) {            result.rejectValue("picture_path", "", "图片上传失败");            e.printStackTrace();        }        // 返回错误信息        if(result.hasErrors()){            model.addAttribute("typeMap", util.getDictMap(10,false));// 生成终端类的下拉列表            return "cms/banner/insert";        }        // 保存数据        bannerService.insert(banner);        return "redirect:list";    }

最终保存到数据库中效果图:

这里写图片描述

搭建nginx环境

修改nginx.conf

这里写图片描述

修改img.conf

文件起名随意

这里写图片描述

server {listen 80;server_name img.power.combanner;root D:/img/banner/;location / {index index.html;}}

修改hosts文件

用文本编辑器打开 C:\Windows\System32\drivers\etc\hosts增加如下内容127.0.0.1 img.power.combanner意思是将 img.power.combanner 地址指向本机

或者安装HostAdmin Host Editor直接修改

测试

开启nginx代理,通过image_url直接访问图片,如果能访问成功,说明配置成功

负载均衡的配置

1.粘贴两个Tomcat2.修改其中一个Tomcat的端口号(conf\server.xml)3.修改nginx.conf    查找到#gzip on; 后加如下内容:    upstream  localhost {    server  localhost:8080 weight=1;    server  localhost:8088 weight=1;    }    Weight 表示权重,配置两个tomcat接受请求的比例4.接下来的步骤从和上面一样
原创粉丝点击