nginx中配置root和alias的区别

本文详细介绍了Nginx配置中的root和alias指令在处理静态资源时的不同之处。root指令将location路径与指定目录结合,而alias则直接指向固定的目录。在使用root时,访问路径为root指定的值加上location的值;使用alias时,无论location如何配置,都会转到alias指定的路径。理解这两个指令的区别有助于更准确地配置Nginx服务器。
摘要由CSDN通过智能技术生成

在​​nginx​​​中,​​root​​​和​​alias​​都可以代理静态资源,那么他们两个有什么区别呢?在什么情况下使用什么呢。

初识

​​root​​​和​​alias​​​都可以在定义在​​location​​模块中,都是用来请求资源的真实路径的,如下:

location / {
 root   html;
 index  index.html index.htm;
}

上面含义是什么呢,就是代理了​​nginx​​​家目录下的​​html​​​目录,默认访问​​index​​​、​​index.html​​​或者​​index.htm​​。

nginx在location中配置root

location /xiaochen/ {
 root html/ceshi/;  # 需要注意,如果这里前面添加了/,那就代表的是服务器实际路径
}

然后我们准备下测试信息:

[root@Server-i-xfe2u1niht nginx]# mkdir -pv html/ceshi/xiaochen
mkdir: created directory ‘html/ceshi’
mkdir: created directory ‘html/ceshi/xiaochen’
[root@Server-i-xfe2u1niht nginx]# echo "my name is xiaochen" > html/ceshi/xiaochen/index.html
[root@Server-i-xfe2u1niht nginx]# 

当你用以下地址去访问的时候;

[root@Server-i-xfe2u1niht nginx]# curl http://10.0.0.20/xiaochen/index.html
my name is xiaochen
[root@Server-i-xfe2u1niht nginx]# 

总结

可以发现,当在​​nginx​​​中使用​​root​​​的时候,你实际访问之时,他的访问路径是:​​root​​指定的值+​​location​​指定的值。

nginx在location中配置alias

location /xiaochen_1/ {
 alias html/ceshi/xiaochen_1/;
}

准备测试环境:

[root@Server-i-xfe2u1niht nginx]# mkdir -pv html/ceshi/xiaochen_1
mkdir: created directory ‘html/ceshi/xiaochen_1’
[root@Server-i-xfe2u1niht nginx]# echo 'my name is xiaochen_1' > html/ceshi/xiaochen_1/index.html
[root@Server-i-xfe2u1niht nginx]# ./sbin/nginx -s reload

使用以下方式来访问:

[root@Server-i-xfe2u1niht nginx]# curl http://10.0.0.20/xiaochen_1/index.html
my name is xiaochen_1
[root@Server-i-xfe2u1niht nginx]# 

总结

可以发现,当在​​nginx​​​中使用​​alias​​的时候,无论你​​location​​中配置的值是什么,他都会转到​​alias​​后面配置的路径中,和​​location​​无关。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值