nginx root、alias、location指令使用方法
一.nginx root指令
1. Nginx配置
相关配置如下图:
通过配置root目录到“/wwwroot/html/”位置
在用虚拟主机方法,主机名称是test,需要大家配置一下自己pc的host文件,另外需要配置server的nginx.conf文件,添加“include vhost/t.conf;”代码,注意不要携带中文的引号
2. 准备一些文件,文件列表如下
如上图,我们将/wwwroot/html目录下的“目录结构及文件”列了出来,一会我们会根据这个目录结构进行实验。
3. 正常访问页面,显示如下图
通过上图我们可以了解到访问/t/a.html成功, 也就是 这个“location /t/”配置及root配合是正常的
4. 访问非目录结构
如上图访问结果,我们无法访问c.html,为什么,其实问题不在root,在于“location /t/”,根据这个指令,我们必须在我们的url中包括“/t/”,否则无效,并且我们在虚拟的主机中没有其他配置了,因此无法访问c.html
5. Root的对比配置
图上图,我们配置root的目录到 “/wwwroot/html/t/”,然后重新加载nginx配置
访问a.html文件,这个文件在这个目录中是真实存在的,结果如下
上图结果由于有缓存存在,无法真正表明结果
通过特别参数来突破缓存进行测试,结果如下:
从上图看,已经没有缓存在影响,但是仍然没有找到页面
清理缓存后再次测试,结果如下
结果以上是上面的情况。
小结
图中最上面是nginx的 location的配置, 特别注意 “/t/”,我们的访问中必须携带这个信息,才能访问。
第二行是用户的访问
第三行是nginx的 root指令,特别注意绿色区域的“/”必须是一一对应的。
最下面是linux文件系统的目录及文件显示,当然目录是 /wwwroot/html/目录下的文件。
从上图我们可以了解到:location指令的第一个“/”同root指令的最后一个“/”是一一对应的,然后,root的指定的目录中,包括 location指定的相关目录结构,图中最后一部分显示的结构。
用户访问中,相应的“/”也必须同location中的“/”进行相关对应。图中应该对应的“/”都已经用相同颜色标识出来,请注意!
二.nginx alias别名配置
1. 更新配置文件
别名的相关配置如下图,文件系统不变。
重新加载配置
2. 未清理缓存情况下的访问
3. 采用参数法突破缓存的结果
4. 清理缓存后访问结果
5. 更改配置文件进行对比实验
重新加载配置文件
清理浏览器缓存然后访问如下
从图中发现我们已经访问不了
访问c.html
可以访问了。为什么???
小结
从上图中我们了解到,location中 黄色“/”要同 alias中“/”相对应。
然后是服务器中的目录结构了。
再有就是html访问中(同location的关系)的情况,同上面root的情况类似。
总结:
1. Location管理服务器及用户浏览器的访问, 主要是http请求中url中特定部分同location指令特定部分要对应,需要对应在两个小结的图中已经给出了!
2. Root及alias指令主要是目录对应关系同location不同
3. Root的最后一个“/”要同location的第一个“/”对应,其他目录结构同location中剩余相同
4. Alias的最后一个“/”要同location的最后一个“/”对应
nginx root、alias、location指令使用方法的更多相关文章
- nginx root&alias文件路径配置
转:https://www.ttlsa.com/nginx/nginx-root_alias-file-path-configuration/ 总结: alias 改变了访问路径.root对应loca ...
- nginx root && alias 文件路径配置
文章摘自:http://www.ttlsa.com/nginx/nginx-root_alias-file-path-configuration/ nginx指定文件路径有两种方式root和alias ...
- nginx root&alias 文件路径配置
nginx 指定文件路径有两种方式 root 和 alias,root 与 alias 主要区别在于 nginx 如何解释 location 后面的 uri,这会使两者分别以不同的方式将请求映射到服务 ...
- 干货 | 一文彻底读懂nginx中的location指令
一个执着于技术的公众号 Nginx系列导读 给小白的 Nginx 10分钟入门指南 Nginx编译安装及常用命令 完全卸载nginx的详细步骤 Nginx 配置文件详解 一文带你读懂Nginx反向代理 ...
- Nginx Location指令配置及常用全局变量
./configure的含义 在实践安装nginx的时候,不知道./configure是什么意思,这里特地记录一下. 在linux中./代表当前目录,属于相对路径../代表上一级目录,属于相对路径/代 ...
- 【nginx】root alias 区别,以及server root , location root 区别
nginx-root-alias-详解 最近在研究前后端分离站点配置在同一域名下,发现root,alias有区别,而且所有的root如果都放置在location下面访问无效的问题,才有此总结,本文只是 ...
- Nginx的alias与root的用法区别和location匹配规则
1.alias与root的用法区别 最基本的区别:alias指定的目录是准确的,root是指定目录的上级目录,并且该上级目录要含有location指定名称的同名目录. location /abc/ { ...
- nginx root和alias指令的区别
# alias location /js/{ alias /static/;}#上述配置,访问/js/目录的时候,nginx自动会去找/static/下面的文件 # rootlocation /js/ ...
- nginx之location(root/alias)
location配置 1. 语法规则(按优先级) = 表示精确匹配,优先级最高 ^~ 表示uri以某个常规字符串开头,用于匹配url路径(而且不对url做编码处理,例如请求/s ...
随机推荐
- Object 类
- 西安电话面试:谈谈Vue数据双向绑定原理,看看你的回答能打几分
最近我参加了一次来自西安的电话面试(第二轮,技术面),是大厂还是小作坊我在这里按下不表,先来说说这次电面给我留下印象较深的几道面试题,这次先来谈谈Vue的数据双向绑定原理. 情景再现: 当我手机铃声响 ...
- redux 最简例子
方便初学redux的同学学习,这里是最简单的redux例子 1 import React, {Component, PropTypes} from 'react' 2 import ReactDOM ...
- 一口一口吃掉Hibernate(四)——多对一单向关联映射
hibernate对于数据库的操作,全部利用面向对象的思维来理解和实现的.一般的单独表的映射,相信大家都没有问题,但是对于一些表之间的特殊关系,Hibernate提供了一些独特的方式去简化它. 今天就 ...
- fastDFS 安装 配置 使用
fastDFS 安装 配置 使用 关于安装 本文采用的是源码的安装方式,其他安装方式请自行百度 简单介绍 1.背景 FastDFS是一款开源的.分布式文件系统(Distributed File Sys ...
- Python 头部 #!/usr/bin/python 和 #!/usr/bin/env 的区别
这个网址 https://www.cnblogs.com/scofi/p/4867851.html 讲述了Python 头部 #!/usr/bin/python 和 #!/usr/bin/env 的区 ...
- C# WMI 远程PC(开机、关机、重启)
啥也不多说,直接上码: //远程重启方法 public static bool Shutdown(ManagementScope scope) { ObjectQuery query=new Obje ...
- Jmeter(三)_配置元件
HTTP Cookie Manager 用来存储浏览器产生的用户信息 Clear Cookies each Iteration:每次迭代请求,清空cookies,GUI中定义的任何cookie都不会被 ...
- Docker 删除容器
可以使用 docker rm 来删除一个处于终止状态的容器. 例如 $sudo docker rm trusting_newton trusting_newton 如果要删除一个运行中的容器,可以添加 ...
- Useful command for Docker
Copy file from Container to Host: docker cp <containerId>:/file/path/within/container /host/pa ...