nginx中配置root和alias的区别

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

初识:

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

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

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

nginx在location中配置root:

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

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

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

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

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

总结:

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

图片

nginx在location中配置alias:

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

准备测试环境:

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

使用以下方式来访问:

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

总结:

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

更多内容请转至VX公众号 “运维家” ,获取最新文章。

------ “运维家” ------

------ “运维家” ------

------ “运维家” ------

系统运维工程师面试,运维工程师优秀员工提名词,tr运维工程师,特来电运维工程师工作日常,IT运维工程师高级;
智能制造运维工程师培训课程,远程办公的运维工程师,迈瑞医疗运维工程师工资待遇,后台运维工程师是做什么的;
风力运维工程师怎样,浪潮云运维工程师,医疗设备运维工程师证书样本,运维工程师男朋友,运维工程师暴躁。

posted @ 2022-07-19 08:57  郭-吉尔伽美什  阅读(152)  评论(0编辑  收藏  举报