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 ...
随机推荐
- 给div添加2个class
<div class='center nocontent'> 类名用空格分开 在优先级一样的情况下就近原则 优先级# 100 .10 <span>这种标签是1 所以的相加 ...
- php闭包类外操作私有属性
Closure::bind() Closure::bindTo(); class person{ private $age; private $sex; public function __const ...
- Microsoft Visual Studio 2017 编译最新版 libuv 1.x 并且生成 LIB 和 DLL 两种模式
以为昨天晚上编译通过就可以了,哪知道,早上编译DLL的一车的报错 今天开始逐个解决,终于把引用的问题一亿解决了,具体步骤如下 1 在 Windows 平台下编译出错,显示导出未定义,打开 uv-win ...
- pycharm 安装与基本设置
一.下载及安装 打开官网下载:https://www.jetbrains.com/pycharm/download/#section=windows 下载完毕之后可直接双击可执行文件,然后点击&quo ...
- Oracle中case用法总结
--case语句的种类: .简单case语句 语法: case exp when comexp then returnvalue ... when comexp then returnvalue el ...
- Node.js 加密
稳定性: 2 - 不稳定; 正在讨论未来版本的 API 改进,会尽量减少重大变化.详见后文. 使用 require('crypto') 来访问这个模块. 加密模块提供了 HTTP 或 HTTPS 连接 ...
- MongoDB 条件操作符
描述 条件操作符用于比较两个表达式并从mongoDB集合中获取数据. 在本章节中,我们将讨论如何在MongoDB中使用条件操作符. MongoDB中条件操作符有: (>) 大于 - $gt (& ...
- 虚拟机访问互联网的方法 -- 以RedHat系为例
在虚拟机的三种网络模式中(Host-Only.桥接.NAT),能够实现虚拟机访问互联网的只有桥接与NAT模式,而Host-only主能实现虚拟机与主机两者间的通信.下面以RedHat系虚拟机系统为例, ...
- Vulkan的分层设计
Vulkan驱动层提供了简单高效的API.作为Vulkan API的使用者,我们要严格遵循Vulkan API的使用规则.如果我们违反了这些规则,Vulkan只会返回很少的反馈,它只会报告一部分严重和 ...
- springMVC源码分析--AbstractHandlerMethodMapping注册url和HandlerMethod对应关系(十一)
在上一篇博客springMVC源码分析--AbstractHandlerMethodMapping获取url和HandlerMethod对应关系(十)中我们简单地介绍了获取url和HandlerMet ...