nginx路径(详解nginx如何代理静态资源(长搜索路径优先))

本文目录
- 详解nginx如何代理静态资源(长搜索路径优先)
- nginx反向代理proxy_pass绝对路径和相对路径
- Nginx配置,location(路径替换),反向代理配置实战,代理配置
- nginx配置文件路径
- nginx 代理本地路径
- nginx请求后端路径重复
- 查找nginx html文件路径方式
- Nginx - proxy_pass路径的唯一拼接规则
- 如何查找nginx的安装目录
详解nginx如何代理静态资源(长搜索路径优先)
***隐藏网址***
首先需要创建/data/www目录,然后将index.html文件,文件的内容并不重要,本例只是指引我们观察nginx如何找到和发送静态资源。然后在创建一个/data/images目录,并放置一些图片文件。
***隐藏网址***
通常,配置文件可能会包含多个server块,这些server块可以由端口号区分,也可以由server names来区分。当nginx决定由哪一个server去处理请求的时候,nginx会根据server块中location参数去测试请求头中指定的URI
现在在server块中添加location块
该location块指定了URI请求的根目录前缀,"/"。对于请求来讲,URI被添加在root路径具体指向的目标路径,如果存在的多个匹配的位置块,nginx将选择前缀最长的位置块(可能是因为更加具体)。上方的location块提供的已经是最短前缀了,也就是说,server块中所有的location块如果都没有匹配到,则该location块将会被采用。
官网的说法真的非常绕,我觉得思路就是, nginx首先会优先去具体的location块匹配资源(规则是参数越长,越优先查找),如果都查不到就去根路径查。
我们再加一个location块
这个location块会匹配以/images/开始的请求,但上一个(location块 location / 也会匹配该内容,记得吗,Nginx会先匹配长路径location块)
现在为了看的更加清楚,在加过这两部分内容之后的配置文件应该长这样
重新加载nginx之后,配置会更新,使用:
***隐藏网址***
后续的内容我还打算针对一些常见场景,记录以下nginx的配置文件针对不同场景和需求该如何去写,以及为什么这么写。Nginx一些模块的详细介绍不打算专门写,大家如果有需求可以看官方文档。
***隐藏网址***
nginx反向代理proxy_pass绝对路径和相对路径
***隐藏网址***
***隐藏网址***
***隐藏网址***
***隐藏网址***
***隐藏网址***
***隐藏网址***
实际上2、3是一种情况,即加了“/”就会去掉匹配前缀。这就引出了下一个问题。
***隐藏网址***
一个种方案是上面提到的proxy_pass后面加根路径“/”。另一种方案是使用正则重写url。例如:
这里的
就是路径重写,其中:
Nginx配置,location(路径替换),反向代理配置实战,代理配置
***隐藏网址***
配置(/usr/local/nginx/conf/nginx.conf)
***隐藏网址***
配置(/usr/local/nginx/conf/nginx.conf)
细节: 需要注意的路径, /api 和 /api/ 、 /app/demo1 和 /app/demo1/ 是有区别的。
参考: ***隐藏网址***
nginx配置文件路径
若是yum安装的,在/etc/nginx/nginx.conf以及conf.d目录下。
若源码安装的在你安装目录下的/conf下。
如果还是找不到可以使用一下命令搜索一下:
find / -name nginx.conf
nginx 代理本地路径
一 : 业务目的:
使用nginx代理本地文件,使本地文件能供通过 localhost/test/index.html 路径 访问本地磁盘C:\Users\dengwubo\Desktop\test\index.html 目录
二: 实现步骤
nginx请求后端路径重复
地址错误。nginx请求后,是需要填写地址信息的,地址错误就会导致端路径重复,只需要重新输入正确的地址即可。
查找nginx html文件路径方式
1、全盘搜索,找到nginx总配置文件,find / -name nginx.conf
2、在 nginx.conf 中看有没有对应端口的html路径设置,没有则寻找该文件include开头的行
例:include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
去这两个路径找就行了
有时候nginx默认页面文件不一定叫做index.html
/var/www/html/index.nginx-debian.html
Nginx - proxy_pass路径的唯一拼接规则
看了一些文章后,总结的规则
如果 proxy_pass 后面没有任何URL路径信息(比如 / , /xxx 等),则反向代理的地址会包含 location 中的匹配部分,否则只会拼接匹配后的剩余路径
PS: 上面是最重要且唯一的一条规则,请记住
***隐藏网址***
proxy_pass 结尾有 /
***隐藏网址***
proxy_pass 最后没有 /
***隐藏网址***
proxy_pass 最后有 /web
***隐藏网址***
proxy_pass 最后有 /web/
***隐藏网址***
如何查找nginx的安装目录
有时我们需要查找nginx的安装目录,但又不知道在哪,如何通过命令查找呢,我为大家提供两个方法。
方法一:输入Linux命令 ps -ef | grep nginx
master后面地址即是nginx的安装目录
有的服务器上使用方法一,master后不显示安装目录,如下
那这时就为大家提供第二种方法
方法二:利用上面的命令查看nginx的PID,就用上图中的16150,然后通过该进程ID来查找当前运行的nginx目录,命令如下
ll /proc/16150/exe
这样就能查出nginx的安装目录了

更多文章:
teammate(teammate,company,partner)
2026年10月11日 06:10
javascript arraybuffer(javascript可以把base64编码转换成二进制代码吗求示例代码!)
2026年10月11日 04:00
text函数公式(excel中round和text函数的区别是什么)
2026年10月11日 03:50
google chrome打不开(chrome浏览器打不开怎么回事 浏览器打不开的处理方法)
2026年10月11日 02:00
websocket整合springboot(Springboot整合Websocket遇到的坑)
2026年10月11日 01:40
drawerlayout(android 怎样让drawerlayout设置的侧滑菜单的内容充满屏幕)
2026年10月10日 19:20
xor四位数怎么运算(单片机怎样用C语言实现4个数字间的异或)
2026年10月10日 17:50
perl数组中最多的元素(用perl实现,得到一个数组中重复次数最多的元素)
2026年10月10日 17:00



