• windows搭建ngnix图片服务器


    一、配置http可以正常访问的图片服务器

      先将图片放在一个文件夹下面

      比如D:serverimg

      下载一个nginx解压缩,打开nginx.conf文件

      nginx默认端口号是80,先启动一下试试

      打开cmd窗口,进入nginx.exe所在的目录下

      执行命令start nginx.exe

      通过任务管理器查询nginx是否运行

      修改配置在server添加以下即可

    location /img/ {
        root D:/server/;
        autoindex on;
    }

           1)root则是将img映射到D:/server/img/;
           2)autoindex on便是打开浏览功能。

      执行nginx -s reload重启ngnix

      http://localhost/img/1.png

      浏览器访问成功!

    二、配置https可以可以访问的图片服务器

      修改https配置即可正常访问

      https://localhost/img/11100000.png成功

    server {
            listen       443 ssl;
            server_name  localhost;
    
            client_max_body_size 35m;
    	ssl_certificate cert/fullchain.pem;
    	ssl_certificate_key cert/private.key;
    
            ssl_session_cache    shared:SSL:1m;
            ssl_session_timeout  5m;
    
            ssl_ciphers  HIGH:!aNULL:!MD5;
            ssl_prefer_server_ciphers  on;
    
            location / {
                root   html;
                index  index.html index.htm;
            }
    		
    	location /img/ {
               root   D:/server/;
                autoindex on;
            }
        }
    

      

    nginx配置时正则一般规则

    语法规则: location [=|~|~*|^~] /uri/ { … }

    = 开头表示精确匹配

    ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。以xx开头

    ~ 开头表示区分大小写的正则匹配 以xx结尾

    ~* 开头表示不区分大小写的正则匹配 以xx结尾

    !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则

    / 通用匹配,任何请求都会匹配到。

    首先精确匹配 = ,其次以xx开头匹配^~ ,然后是按文件中顺序的正则匹配  ,最后是交给 / 通用匹配。

    当有匹配成功时候,停止匹配,按当前匹配规则处理请求。

     

     

     

     

     

    测试完毕关闭nginx

    nginx -s stop

    nginx配置文件有三部分组成

    1.全局块

    从配置文件开始到events块之间的内容,主要会设置一些影响nginx服务器整体运行的配置指令。

    比如:worker_processes 1; worker_processes值越大,可以支持的并发处理量也越多。

    2.events块

    events块涉及的指令主要影响nginx服务器与用户的网络连接。比如:worker_connection 1024; 支持的最大连接数。

    3.http块

    nginx服务器配置中最频繁的部分,http块也可以包括http全局块、server块。

    Java图片上传代码

    /**
     * 文件上传
     */
    @RestController
    public class FileController {
    
        @PostMapping(value = "/fileUpload")
        public String fileUpload(@RequestParam(value = "file") MultipartFile file) {
            if (file.isEmpty()) {
                System.out.println("请选择图片");
            }
            String fileName = file.getOriginalFilename();  // 文件名
            String suffixName = fileName.substring(fileName.lastIndexOf("."));  // 后缀名
            String filePath = "D:/images/"; // 上传后的路径
            fileName = UUID.randomUUID() + suffixName; // 新文件名
            File dest = new File(filePath + fileName);
            if (!dest.getParentFile().exists()) {
                dest.getParentFile().mkdirs();
            }
            try {
                file.transferTo(dest);
            } catch (IOException e) {
                e.printStackTrace();
            }
            //返回图片名称
            return fileName;
        }
    }
    

      

    ngnix转发

    js css文件无法加载问题

    location / {
                proxy_pass http://opcservice/hnairweb/;
                proxy_redirect     off;
                proxy_set_header   Host $host;
                proxy_hide_header Server;
                proxy_set_header X-Real-IP      $remote_addr;
                proxy_set_header X-Forwarded-For $remote_addr;
                proxy_connect_timeout      10;
                proxy_send_timeout         10;
                proxy_read_timeout         10;
                proxy_intercept_errors     on;
                proxy_buffering            off;
          }
    
    #配置静态资源 解决js css文件无法加载无法访问的问题,注意末尾不能有 /
    location ~ .*.(js|css|jpg|jpeg|gif|png|ico|pdf|txt)$ {
               proxy_pass http://opcservice;
             }   
  • 相关阅读:
    【持续更新】leetcode算法-数组篇
    【转】敏捷开发之Scrum扫盲篇
    设计Twitter的api
    给一个表达式字符串加括号,计算它的所有的可能的值
    判断一个整数是否是平方数
    Spring Cloud 入门教程(七): 熔断机制 -- 断路器
    断路器(Curcuit Breaker)模式
    Spring Cloud 入门教程(六): 用声明式REST客户端Feign调用远端HTTP服务
    Spring Cloud 入门教程(五): Ribbon实现客户端的负载均衡
    Spring Cloud 入门教程(四): 分布式环境下自动发现配置服务
  • 原文地址:https://www.cnblogs.com/h-c-g/p/15323031.html
Copyright © 2020-2023  润新知