Nginx配置本地图片路径

背景

最近开发需要配置服务器图片的路径,我在本地测试Nginx配置本地图片路径时发现一个未解之坑,后续有机会在研究。

配置方案

方案一、Tomcat作为文件服务器

  1. 在本地Tomcat的webapps下面新建目录/wms/uploadPath/skuImage
  2. 把图片路径放到该路径下
  3. 启动Tomcat
  4. 配置nginx.conf如下
	server {
		listen	8081;
		server_name	localhost;
		location	/images	{
			proxy_pass	http://localhost:8080/wms/uploadPath/skuImage
		}
	}
  1. 访问http://localhost:8081/images/testBarCode2.png
    在这里插入图片描述

方案二、直接指向文件路径

  1. 继续使用Tomcat的文件路径F:\Environment\apache-tomcat-8.5.53\webapps\wms\uploadPath\skuImage
  2. 配置nginx.conf如下
	server {
		listen	8081;
		server_name	localhost;
		location	/images	{
			root	F:/Environment/apache-tomcat-8.5.53/webapps/wms/uploadPath/skuImage
		}
	}
  1. 你以为成功了吗?
  2. 不,这才刚刚开始,你会发现打开页面如下
    在这里插入图片描述
  3. 不要急,它有张良计,我有过墙梯
  4. 在我们的原路径下新建一个文件夹images,把图片都挪进去
  5. 再次访问http://localhost:8081/images/testBarCode2.png
    在这里插入图片描述
  6. 问题解决!如果需要保持原路径不变的话,那就是在uploadPath路径下新建一个images文件夹,然后把skuImage文件夹和图片全部挪进去。

遗留问题

所以Nginx配置本地文件路径的时候,为什么一定要建一个和路由一样名称的文件夹才能正常访问呢?

Nginx是一款流行的开源Web服务器,也可以作为反向代理和负载均衡器使用。如果你想让Nginx作为本地图片服务器,可以按照以下步骤配置: 1. **安装Nginx**: 如果你的系统上还没有安装Nginx,首先需要下载并安装它。对于Linux,你可以使用包管理器(如apt-get或yum)来安装;对于Windows,可以从官方网站下载适用于Windows的二进制版本。 2. **创建站点目录**: 创建一个用于存储图片文件夹,比如`/var/www/images` 或者 `D:\nginx\images`,并将图片上传到这个目录。 3. **编辑Nginx配置**: 打开Nginx配置文件,通常位于`/etc/nginx/nginx.conf` (Linux) 或 `C:\nginx\conf\nginx.conf` (Windows),用文本编辑器打开它。 4. **添加location块**: 配置一个location块来指定处理静态文件,包括图片。例如: ```nginx location ~ \.(gif|jpg|jpeg|png)$ { root /path/to/images; # 使用实际路径替换这路径 access_log off; expires max; # 设置图片默认缓存时间 } ``` 这`~ \.(gif|jpg|jpeg|png)$` 匹配`.gif`, `.jpg`, `.jpeg`, 和 `.png` 类型的文件,并设置它们的访问路径。 5. **启用服务器和重启Nginx**: 将上述配置添加到配置文件后,保存并关闭文件。然后使用命令行重启Nginx服务,例如: - Linux: `sudo service nginx restart` - Windows: `nginx.exe -s reload` 现在,你的Nginx服务器已经可以作为本地图片服务器了。外部请求图片时,只要URL指向正确的路径Nginx会自动返回对应的图片
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值