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 ...
随机推荐
- break 与 continue
1.break ①只有一层循环时,作用是跳出循环语句,执行后面的代码. ②break存在于循环嵌套的内层循环时,只能跳出内层循环,如果想要跳出外层循环,需要对外层循环添加标记. 2.continue ...
- JS 判断是否为IP格式
<html> <head> <title><a href='http://js.zz5u.net'><u>JavaScript</u& ...
- jquery easyui datagrid改变某行的值
$("#DeterminateMembers").datagrid("updateRow",{index:index,row:{fzr:"0" ...
- 学习C语言第一天!
整理心得笔记: 1)c语言程序由函数构成,每个函数可以实现一个或多个功能. 2)一个正规程序可以有多个函数,但是有且只有一个主函数. 3)函数只有在被调用的时候才执行,主函数由系统调用执行. 4 ...
- 【博弈】【HDU】取石子游戏
取石子游戏 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- python复杂网络库networkx:绘图draw
http://blog.csdn.net/pipisorry/article/details/54291831 networkx使用matplotlib绘制函数 draw(G[, pos, ax, h ...
- 使用Kubernetes需要注意的一些问题(FAQ of k8s)
本篇文章并不是介绍K8S 或者Docker的,而仅仅是使用过程中一些常见问题的汇总. 重启策略:http://kubernetes.io/docs/user-guide/pod-states/, 对于 ...
- (译)Objective-C 类属性
翻译自:Objective-C Class Properties 译者:Haley_Wong 由于Swift 3.0 出了太多令人兴奋的新特性,人们很容易忽略 Objective-C中的小改动.苹果展 ...
- 【SSH系列】初识spring+入门demo
学习过了hibernate,也就是冬天,经过一个冬天的冬眠,当春风吹绿大地,万物复苏,我们迎来了spring,在前面的一系列博文中,小编介绍hibernate的相关知识,接下来的博文中,小编将继续介绍 ...
- EBS系统管理常用SQL语句整理汇总(参考网上资料&其他人博客)
--1查找系统用户基本信息 SELECT user_id, user_name, description, employeE_id, person_party_id FROM fnd_user; -- ...