IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]nginx root、alias、location指令使用方法

    undoner发表于 2015-09-08 15:46:21
    love 0

    一.nginx root指令

    1. Nginx配置

    相关配置如下图:

    wps_clip_image-17059[4][2][1]

    通过配置root目录到“/wwwroot/html/”位置

    在用虚拟主机方法,主机名称是test,需要大家配置一下自己pc的host文件,另外需要配置server的nginx.conf文件,添加“include vhost/t.conf;”代码,注意不要携带中文的引号

    2. 准备一些文件,文件列表如下

    wps_clip_image-2115[4][2][1]

    如上图,我们将/wwwroot/html目录下的“目录结构及文件”列了出来,一会我们会根据这个目录结构进行实验。

    3. 正常访问页面,显示如下图

    wps_clip_image-20414[4][2][1]

    通过上图我们可以了解到访问/t/a.html成功, 也就是 这个“location /t/”配置及root配合是正常的

    4. 访问非目录结构

    wps_clip_image-12908[5][2][1]

    如上图访问结果,我们无法访问c.html,为什么,其实问题不在root,在于“location /t/”,根据这个指令,我们必须在我们的url中包括“/t/”,否则无效,并且我们在虚拟的主机中没有其他配置了,因此无法访问c.html

    5. Root的对比配置

    wps_clip_image-6259[4][2][1]

    图上图,我们配置root的目录到 “/wwwroot/html/t/”,然后重新加载nginx配置

    wps_clip_image-20443[4][2][1]

    访问a.html文件,这个文件在这个目录中是真实存在的,结果如下

    wps_clip_image-29214[4][2][1]

    上图结果由于有缓存存在,无法真正表明结果

    通过特别参数来突破缓存进行测试,结果如下:

    wps_clip_image-25365[4][2][1]

    从上图看,已经没有缓存在影响,但是仍然没有找到页面

    清理缓存后再次测试,结果如下

    wps_clip_image-13661[4][2][1]

    结果以上是上面的情况。

    小结

    wps_clip_image-2473[4][2][1]

    图中最上面是nginx的 location的配置, 特别注意 “/t/”,我们的访问中必须携带这个信息,才能访问。

    第二行是用户的访问

    第三行是nginx的 root指令,特别注意绿色区域的“/”必须是一一对应的。

    最下面是linux文件系统的目录及文件显示,当然目录是 /wwwroot/html/目录下的文件。

    从上图我们可以了解到:location指令的第一个“/”同root指令的最后一个“/”是一一对应的,然后,root的指定的目录中,包括 location指定的相关目录结构,图中最后一部分显示的结构。

    用户访问中,相应的“/”也必须同location中的“/”进行相关对应。图中应该对应的“/”都已经用相同颜色标识出来,请注意!

    二.nginx alias别名配置

    1. 更新配置文件

    别名的相关配置如下图,文件系统不变。

    wps_clip_image-15178[4][2][1]

    重新加载配置

    wps_clip_image-11013[4][2][1]

    2. 未清理缓存情况下的访问

    wps_clip_image-23918[4][2][1]

    3. 采用参数法突破缓存的结果

    wps_clip_image-21271[4][2][1]

    4. 清理缓存后访问结果

    wps_clip_image-22106[4][3][1]

    5. 更改配置文件进行对比实验

    wps_clip_image-16135[4][2][1]

    重新加载配置文件

    清理浏览器缓存然后访问如下

    wps_clip_image-4111[4][2][1]

    从图中发现我们已经访问不了

    访问c.html

    wps_clip_image-5243[4][2][1]

    可以访问了。为什么???

    小结

    wps_clip_image-5785[4][2][1]

    从上图中我们了解到,location中 黄色“/”要同 alias中“/”相对应。

    然后是服务器中的目录结构了。

    再有就是html访问中(同location的关系)的情况,同上面root的情况类似。

    总结:

    1. Location管理服务器及用户浏览器的访问, 主要是http请求中url中特定部分同location指令特定部分要对应,需要对应在两个小结的图中已经给出了!

    2. Root及alias指令主要是目录对应关系同location不同

    3. Root的最后一个“/”要同location的第一个“/”对应,其他目录结构同location中剩余相同

    4. Alias的最后一个“/”要同location的最后一个“/”对应



沪ICP备19023445号-2号
友情链接