Nginx不同拦截路径代理相同静态资源(alisa和root)

您所在的位置:网站首页 nginx多个路径相同配置 Nginx不同拦截路径代理相同静态资源(alisa和root)

Nginx不同拦截路径代理相同静态资源(alisa和root)

2024-07-18 00:06:10| 来源: 网络整理| 查看: 265

文章目录 Nginx不同拦截名代理相同静态资源(alisa和root)1、配置静态资源代理2、root和alisa的区别3、window系统下nginx命令使用4、参考文章

Nginx不同拦截名代理相同静态资源(alisa和root)

下面的内容同样适用与Linux系统。

1、配置静态资源代理

以前配置Nginx都是使用/来进行静态资源代理。这样就直接加载资源目录下面的文件了,类似下面这样: 在这里插入图片描述 在D盘下新建一个html的文件夹,文件夹下有一个index.html文件,现在就需要代理访问到index.html文件,配置如下:

server { #代理监听的接口 listen 8000; server_name localhost; #代理拦截的静态资源路径 : / location / { root D:\html; index index.html index.htm; } }

上面的配置就是只要是访问到了localhost:8000端口就会将请求代理到index.html。访问结果如下: 在这里插入图片描述

现在的需求是配置不同的站点访问到相同的静态资源文件。 配置信息如下:

server { listen 8000; server_name localhost; location / { root D:\html; index index.html index.htm; } #站点1 location /test1 { root D:\html; index index.html; } #站点2 location /test2 { root D:\html; index index.html; } }

上面新加的两项配置是通过访问localhost:8000/test1和localhost:8000/test2都能访问到D:\html文件夹中的index.html文件,But… 在这里插入图片描述 在这里插入图片描述 事实就是并不能通过拦截test1和test2f访问到D:\html\index.html文件。

原因就是使用root配置资源路径,nginx进行资源代理的时候会将代理拦截添加到资源路径的后面,如: D:\html\test1\index.html 这样肯定就访问不到资源了啊,因为根本就不存在test1这个文件夹以及文件夹中index.html文件(请自动忽略图1中的两个test1和test2文件夹)。

假设自己新建指定的目录test1和test2,如图1,并且将index.html复制到这两个文件夹中并且将内容略作需改,再次访问localhost:8000/test1和localhost:8000/test2请求,结果: 在这里插入图片描述 在这里插入图片描述 神奇的是访问到了!不过这样做也不太友好,不可能在每一个拦截里面部署相同的资源。

下面就是解决怎么使用不同的拦截名,代理到相同的静态资源。 经过我一番查找资料,找到了解决方案:

server { listen 8000; server_name localhost; location / { root D:\html; index index.html index.htm; } location /test1 { root D:\html; index index.html; } location /test2 { root D:\html; index index.html; } #又新加的两个代理方案test3和test4 #使用alisa别名指定资源路径 location /test3 { alias D:\html; index index.html; } #要注意下面这两种情况:如果test3后面加上/那么虚拟路径的后面就一定要加。 #如果test3后面不加/,那么虚拟路径后面加不加都行,或者是都不加默认会加上。 #location /test3/ { # alias D:\html/; # index index.html; #} #location /test3 { # alias D:\html/; # index index.html; #} location /test4 { alias D:\html; index index.html; } }

如上的配置信息/test3和test4来代理D:\html下的资源文件,不同的是路径的配置方式由root变成了alisa,访问结果如下: 在这里插入图片描述 在这里插入图片描述 这两个请求都能够正确代理相同的资源文件,说明配置成功了!可以通过站点test3和站点test4来访问相同的资源文件了。

注!以上的配置信息在Linux系统中同样生效,不同的是需要更改root或者alisa中指定的文件路径。

2、root和alisa的区别 root

root指的是实际路径(目录上层路径定义),拦截的path需要添加到实际路径的后面,资源会在拼接之后的url中查找。

alias

alias指的是虚拟路径(目录别名定义),拦截的path不会添加到虚拟路径的后面,资源会直接在虚拟路径中查找。

3、window系统下nginx命令使用

以下的命令需要在DOS窗口下,进入到nginx.exe所在目录下执行。

启动

nginx.exe #不建议使用这种方式启动,这样启动窗口会暂停,不能执行其他命令 start nginx.exe

停止

#两种任选其一 nginx.exe -s quit nginx.exe -s stop

重加载配置文件

nginx.exe -s reload

查看nginx版本信息

nginx.exe -v 4、参考文章

https://www.nginx.cn/4658.html

https://www.cnblogs.com/zhangqunshi/p/6866522.html

https://www.cnblogs.com/wushank/p/11730534.html

https://www.cnblogs.com/jianmingyuan/p/10899917.html



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭