Nginx配置中root和alias的区别及说明
作者:tuonioooo
这篇文章主要介绍了Nginx配置中root和alias的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
Nginx配置中root和alias区别
root和alias都可以定义在location模块中,都是用来指定请求资源的真实路径,比如:
location /i/ { root /data/w3; }
请求 http://foofish.net/i/top.gif
这个地址时,那么在服务器里面对应的真正的资源
是 /data/w3/i/top.gif
文件
注意:真实的路径是root指定的值加上location指定的值 。
而 alias 正如其名,alias指定的路径是location的别名,不管location的值怎么写,资源的 真实路径都是 alias 指定的路径 ,比如:
location /i/ { alias /data/w3/; }
同样请求 http://foofish.net/i/top.gif
时,在服务器查找的资源路径是: /data/w3/top.gif
其他区别
1、 alias 只能作用在location中,而root可以存在server、http和location中。
2、 alias 后面必须要用 “/” 结束,否则会找不到文件,而 root 则对 ”/” 可有可无。
root 与 alias使用
假如服务器路径为:/home/imooc/files/img/face.png
root 路径完全匹配访问
配置的时候为:
location /imooc { root /home }
用户访问的时候请求为:url:port/imooc/files/img/face.png
alias可以为你的路径做一个别名,对用户透明
配置的时候为:
location /hello { alias /home/imooc }
用户访问的时候请求为:url:port/hello/files/img/face.png,如此相当于为目录imooc做一个自定义的别名。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。