51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

nginx配置中alias和root区别

root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上。

alias是一个目录别名的定义(仅能用于location上下文),root则是最上层目录的定义。

直接通过例子来理解:
location ^~ /123/abc/ { root /data/www; }

|-------|---------------------------------------------| | 1 2 3 | location ^~ /123/abc/ { root /data/www; } |

当请求https://blog.whsir.com/123/abc/logo.png时,将会返回服务器上的/data/www/123/abc/logo.png文件,即/data/www+/123/abc/
location ^~ /123/abc/ { alias /data/www; }

|-------|----------------------------------------------| | 1 2 3 | location ^~ /123/abc/ { alias /data/www; } |

当请求https://blog.whsir.com/123/abc/logo.png时,将会返回服务器上的/data/www/logo.png文件,即/data/www

参考:

http://nginx.org/en/docs/http/ngx_http_core_module.html#root
http://nginx.org/en/docs/http/ngx_http_core_module.html#alias

赞(0)
未经允许不得转载:工具盒子 » nginx配置中alias和root区别