windows搭建ngnix图片服务器

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

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

  比如D:\server\img

  下载一个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;
         }   

 

posted @ 2021-09-23 10:19  一心二念  阅读(919)  评论(0编辑  收藏  举报