Nginx学习笔记(六)——高性能服务器---root和alias的区别

本文通过实验对比了Nginx中root和alias指令在处理URL到服务器路径映射时的不同。root指令会将location块的URL路径与指定路径组合,而alias则直接将URL与指令路径对应。实验展示了在访问特定URL时,两者如何构建实际的服务器路径,强调了alias仅能在location块中使用的限制。
摘要由CSDN通过智能技术生成

1.实验

在nginx中,我们可以通过location块与root指令结合的方式,将"url"与"服务器路径"建立起对应关系,location块负责匹配url,root指令负责将匹配到的url与服务器中某个具体目录对应起来
其实,除了root指令,还有另一个指令也能实现类似的功能,它就是alias指令,root指令和alias指令都能将urI和服务器路径进行对应,但是它们之间又存在一些区别

下面通过一个实验来了解root和alias的区别

root

vim /usr/local/nginx/conf/nginx.conf

 47         location /demo {
 48             root /opt/test;
 49 }

[root@server1 ~]# cd /opt/
[root@server1 opt]# ls
demo
[root@server1 opt]# mkdir test
[root@server1 opt]# mv demo test/

nginx -s reload	#在不暂停服务的情况下重新加载

在这里插入图片描述
在这里插入图片描述
测试:

在页面中:http://172.25.254.1/demo/
http://172.25.254.1/demo/c.jpg
在这里插入图片描述
在这里插入图片描述

alias

vim /usr/local/nginx/conf/nginx.conf

 47         location /demo {
 48             alias /opt/test;
 49 }

nginx -s reload

在这里插入图片描述
测试:在页面中http://172.25.254.1/demo/
http://172.25.254.1/demo/c.jpg
在这里插入图片描述
在这里插入图片描述

[root@server1 demo] mv c.jpg ..	#将图片移到上层目录
[root@server1 demo] cd ..	
[root@server1 test] ls	#此时图片的位置在/opt/test/中

再次测试
在这里插入图片描述

2.root和alias的区别

在上面的实验中:

  • root
    location块匹配的url为"/demo",root指令的路径为"/opt/test",那么,根据上述配置,当我们访问"/demo"这个urI时,实际上访问的是/opt/test/demo路径
    配置上述location块后,当我们访问/demo/test/c.jpg这个url时,我们访问的是/opt/test/demo/test/c.jpg
    简单来说,root就是把url路径补在指定路径后面
  • alias
    location块匹配的url为"/demo",alias指令的路径为/opt/test 。如你所见,alias指令对应的值也是一个路径,当alias指令与location块结合时,当我们访问/demo/c.jpg时,其实就是在访问服务器的/opt/test/c.jpg,也就是说,当我们使用alias时,location的urI是与alias的路径完全对等的

看到此处,root指令和alias指令的区别就很明显了:

  • root指令会将location块的"url路径"带入到"root指令路径"中,将带入后的路径作为"最终路径",使用"最终路径"与urI建立对应关系。

  • alias指令则直接将location块的"urI路径"与"alias指令路"建立对应关系

  • alias指令和root指令能够处于的上下文位置也不同,alias指令只能在location块中使用,而root指令则不然

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值