Nginx配置本地图片路径
背景
最近开发需要配置服务器图片的路径,我在本地测试Nginx配置本地图片路径时发现一个未解之坑,后续有机会在研究。
配置方案
方案一、Tomcat作为文件服务器
- 在本地Tomcat的webapps下面新建目录/wms/uploadPath/skuImage
- 把图片路径放到该路径下
- 启动Tomcat
- 配置nginx.conf如下
server {
listen 8081;
server_name localhost;
location /images {
proxy_pass http://localhost:8080/wms/uploadPath/skuImage
}
}
方案二、直接指向文件路径
- 继续使用Tomcat的文件路径F:\Environment\apache-tomcat-8.5.53\webapps\wms\uploadPath\skuImage
- 配置nginx.conf如下
server {
listen 8081;
server_name localhost;
location /images {
root F:/Environment/apache-tomcat-8.5.53/webapps/wms/uploadPath/skuImage
}
}
- 你以为成功了吗?
- 不,这才刚刚开始,你会发现打开页面如下
- 不要急,它有张良计,我有过墙梯
- 在我们的原路径下新建一个文件夹images,把图片都挪进去
- 再次访问http://localhost:8081/images/testBarCode2.png
- 问题解决!如果需要保持原路径不变的话,那就是在uploadPath路径下新建一个images文件夹,然后把skuImage文件夹和图片全部挪进去。
遗留问题
所以Nginx配置本地文件路径的时候,为什么一定要建一个和路由一样名称的文件夹才能正常访问呢?