一.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指令使用方法的更多相关文章

  1. nginx root&alias文件路径配置

    转:https://www.ttlsa.com/nginx/nginx-root_alias-file-path-configuration/ 总结: alias 改变了访问路径.root对应loca ...

  2. nginx root && alias 文件路径配置

    文章摘自:http://www.ttlsa.com/nginx/nginx-root_alias-file-path-configuration/ nginx指定文件路径有两种方式root和alias ...

  3. nginx root&alias 文件路径配置

    nginx 指定文件路径有两种方式 root 和 alias,root 与 alias 主要区别在于 nginx 如何解释 location 后面的 uri,这会使两者分别以不同的方式将请求映射到服务 ...

  4. 干货 | 一文彻底读懂nginx中的location指令

    一个执着于技术的公众号 Nginx系列导读 给小白的 Nginx 10分钟入门指南 Nginx编译安装及常用命令 完全卸载nginx的详细步骤 Nginx 配置文件详解 一文带你读懂Nginx反向代理 ...

  5. Nginx Location指令配置及常用全局变量

    ./configure的含义 在实践安装nginx的时候,不知道./configure是什么意思,这里特地记录一下. 在linux中./代表当前目录,属于相对路径../代表上一级目录,属于相对路径/代 ...

  6. 【nginx】root alias 区别,以及server root , location root 区别

    nginx-root-alias-详解 最近在研究前后端分离站点配置在同一域名下,发现root,alias有区别,而且所有的root如果都放置在location下面访问无效的问题,才有此总结,本文只是 ...

  7. Nginx的alias与root的用法区别和location匹配规则

    1.alias与root的用法区别 最基本的区别:alias指定的目录是准确的,root是指定目录的上级目录,并且该上级目录要含有location指定名称的同名目录. location /abc/ { ...

  8. nginx root和alias指令的区别

    # alias location /js/{ alias /static/;}#上述配置,访问/js/目录的时候,nginx自动会去找/static/下面的文件 # rootlocation /js/ ...

  9. nginx之location(root/alias)

    location配置 1. 语法规则(按优先级) =        表示精确匹配,优先级最高 ^~      表示uri以某个常规字符串开头,用于匹配url路径(而且不对url做编码处理,例如请求/s ...

随机推荐

  1. break 与 continue

    1.break ①只有一层循环时,作用是跳出循环语句,执行后面的代码. ②break存在于循环嵌套的内层循环时,只能跳出内层循环,如果想要跳出外层循环,需要对外层循环添加标记. 2.continue ...

  2. JS 判断是否为IP格式

    <html> <head> <title><a href='http://js.zz5u.net'><u>JavaScript</u& ...

  3. jquery easyui datagrid改变某行的值

    $("#DeterminateMembers").datagrid("updateRow",{index:index,row:{fzr:"0" ...

  4. 学习C语言第一天!

    整理心得笔记: 1)c语言程序由函数构成,每个函数可以实现一个或多个功能.  2)一个正规程序可以有多个函数,但是有且只有一个主函数.  3)函数只有在被调用的时候才执行,主函数由系统调用执行.  4 ...

  5. 【博弈】【HDU】取石子游戏

    取石子游戏 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  6. python复杂网络库networkx:绘图draw

    http://blog.csdn.net/pipisorry/article/details/54291831 networkx使用matplotlib绘制函数 draw(G[, pos, ax, h ...

  7. 使用Kubernetes需要注意的一些问题(FAQ of k8s)

    本篇文章并不是介绍K8S 或者Docker的,而仅仅是使用过程中一些常见问题的汇总. 重启策略:http://kubernetes.io/docs/user-guide/pod-states/, 对于 ...

  8. (译)Objective-C 类属性

    翻译自:Objective-C Class Properties 译者:Haley_Wong 由于Swift 3.0 出了太多令人兴奋的新特性,人们很容易忽略 Objective-C中的小改动.苹果展 ...

  9. 【SSH系列】初识spring+入门demo

    学习过了hibernate,也就是冬天,经过一个冬天的冬眠,当春风吹绿大地,万物复苏,我们迎来了spring,在前面的一系列博文中,小编介绍hibernate的相关知识,接下来的博文中,小编将继续介绍 ...

  10. EBS系统管理常用SQL语句整理汇总(参考网上资料&其他人博客)

    --1查找系统用户基本信息 SELECT user_id, user_name, description, employeE_id, person_party_id FROM fnd_user; -- ...