Nginx中root与alias的用法及区别:
Nginx中root与alias都是定义location {}块中虚拟目录访问的文件位置:
先看看两者在用法上的区别:
location /img/ { alias /var/www/image/; } #若按照上述配置的话,当客户端请求访问/img/目录里面的文件时,ningx会自动去/var/www/image/目录找文件 location /img/ { root /var/www/image; } #若按照这种配置的话,则访问/img/目录下的文件时,nginx会去/var/www/image/img/目录下找文件.
alias是一个目录别名的定义,root则是最上层目录的定义。
还有一个重要的区别是alias后面必须要用“/”结束,否则会找不到文件的。。。而root则可有可无~~
一般情况下,在location / 中配置root,在location /other中配置alias是一个好习惯...
实例:
location / { try_files $uri $uri/ /index.html; root /opt/ytd_nas/share_data/staticpages/pwa; index index.html; allow 111.207.170.18/32; allow 106.38.75.122/32; deny all; } #访问根路径时,用root指定路径地址. location /static { alias /opt/ytd_nas/share_data/staticpages/mobile/static; } #当访问www.xxx.com/static目录时访问alias下的目录
参考文档:
http://www.cnblogs.com/tintin1926/archive/2012/07/11/2586813.html
http://blog.sina.com.cn/s/blog_af6bb6bc0102v6xu.html
http://blog.csdn.net/kinginblue/article/details/50748683