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; }