nginx中配置root和alias的区别
在
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 /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运维工程师高级;
智能制造运维工程师培训课程,远程办公的运维工程师,迈瑞医疗运维工程师工资待遇,后台运维工程师是做什么的;
风力运维工程师怎样,浪潮云运维工程师,医疗设备运维工程师证书样本,运维工程师男朋友,运维工程师暴躁。
天行健,君子以自强不息;
地势坤,君子以厚德载物。