nginx中 root 和 alias 的区别:
root 与 alias 主要区别在于 nginx 如何解释 location 后面的 URI,这会使两者分别以不同的方式将请求映射到服务器文件上。
alias 是一个目录别名的定义(仅能用于location上下文),root 则是最上层目录的定义。
root 实例:
location /cloud {
root /var/www/html;
}
如果一个请求的 URI 是 /cloud/a.html
时,web 服务器将会返回服务器上的 /var/www/html/cloud/a.html
的文件。
alias 实例:
location /cloud {
alias /var/www/html;
}
如果一个请求的 URI 是 /cloud/b.html
时,web 服务器将会返回服务器上的 /var/www/html/b.html
的文件。注意 alias 会把 location 后面配置的 /cloud 路径丢弃掉,把当前匹配到的目录指向到指定的目录。