一、配置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; }