一.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. Nginx+tomcat配置集群负载均衡

    开发的应用采用F5负载均衡交换机,F5将请求转发给5台hp unix服务器,每台服务器有多个webserver实例,对外提供web服务和socket等接口服务.之初,曾有个小小的疑问为何不采用开源的a ...

  2. Python小代码_3_购物车

    product_list = [ ('MacBook', 9000), ('kindle', 500), ('tesla', 900000), ('book', 100), ('bike', 2000 ...

  3. python学习之路网络编程篇(第四篇)- 续

    Memcache简介 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速 ...

  4. 代码之间-论文修改助手v1.0版本发布

    论文查重,是每个毕业生都要面临的一个令人头疼的问题,如果写论文不认真,很可能导致查重红一大片. 之前有帮助一些朋友修改论文降低重复率,做了一些工作后发现,国内的查重机构,如知网.维普等,大多数是基于关 ...

  5. kexec 内核快速启动流程分析

    一.命令行 1. kexec -l $kpwd --append="$arg" 其中$kpwd =目标内核的路径 $arg =传给内核的参数,与/proc/cmdline一致时表示 ...

  6. 牛客网编程练习之PAT乙级(Basic Level):1041 说反话

    直接分隔取反即可 AC代码: import java.util.Scanner; /** * @author CC11001100 */ public class Main { public stat ...

  7. MySQL 字符串连接CONCAT()函数

    MySQL字符串连接函数 使用方法:CONCAT(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意:如果所有参数均为非二进制字符串, ...

  8. 终止Docker容器

    可以使用 docker stop 来终止一个运行中的容器. 此外,当Docker容器中指定的应用终结时,容器也自动终止. 例如对于上一章节中只启动了一个终端的容器,用户通过 exit 命令或 Ctrl ...

  9. 深入Java虚拟机(4)——网络移动性

    一.软件应用程序发展的几个阶段 软件应用程序发展经历了如下几个阶段: 服务于多个终端用户的大型计算机系统 孤立的个人计算机上运行孤立的软件 客户机/服务器模式 分布式处理模式 内容服务模式(网络移动性 ...

  10. 我的第一个RootKit,支持XP、Vista、Win7、Win8 RTM 32位

    只有写过一个BootKit,才能比较深刻的理解其整个过程与机制,也能加深对Windows系统引导各个过程的熟悉和理解. 我写的这个bootkit,暂时还没想到一个比较好的名字,它 1.  支持xp到w ...