Nginx虚拟目录配置,alias和root设置的区别

Nginx虚拟目录配置,alias和root设置的区别

nginx.jpg
nginx在配置目录规则时,指定目录有两个方式可选,分别是aliasroot,下面记录一下这两种方式的区别

alias和root的主要区别

  • 使用root时,实际指向的路径是:root + location的值
  • 使用alias时,实际指向的路径是:alias的值。
  • alias指定的目录是准确的

应用举例

比如,一张图片的url地址是:http://www.abc.com/static/a.jpg
它在服务器中的路径是
/home/www-root/app/static/a.jpg
使用root配置的话应该设置为:

location /static/ {
    root /home/www-root/app;
}

当客户端请求 /static/a.jpg 的时候, nginx把请求映射为/home/www-root/app/static/a.jpg。
用alias就应该这样配置:

location /static/ {
    root /home/www-root/app/static;
}

如果alias像root那样配置:

location /static/ {
    root /home/www-root/app/;
}

当客户端请求 /static/a.jpg 的时候, nginx把请求映射为/home/www-root/app/a.jpg。此时是无法访问到指定图片的。

总结

通过上面的示例可以看出,对于alias设置时,location的值对实际指向没有影响。另外就是alias只能在location块内设置,root可以不放在location中

© 版权声明
THE END
喜欢就支持以下吧
点赞0
分享
评论 抢沙发