1. 前言
- 今天的目的主要是梳理下在 nginx 中 root 以及 alias 在用法上有什么不同。
- 其实这个问题看起来很简单。但是对于前端同学而言还是很困难的,毕竟有的前端同学都没弄过服务器
2. 结论
root
以及alias
都是对 url 发起根目录进行控制。但是颗粒度有所不同root
是以root + location
的结果作为请求根目录alias
是以alias
作为根目录
- 所以按照下面的示例。假如你的博客静态资源在 blog 中,但是你的 root 设置为
/usr/share/nginx/html/blog
. 那么最后的访问位置就是/usr/share/nginx/html/blog/blog
3. 基本语法
-
root
Syntax: root xxxx; Default: - Context: server->location
-
alias
Syntax: alias xxxx; Default: - Context: server->location
4. 测试目录结构
-
上述目录中存在两个嵌套的 blog
- 第一个 blog 的 html 内容是 blog.
- 第二个 blog 的 html 内容是 blog/blog
-
接下来我们单独配置 root/ alias 看看到底走哪个目录下
5. 测试结果
5.1 root 配置
- root 配置
location /blog {
root /usr/share/nginx/html/blog;
index index.html index.htm;
}
- 访问结果
5.2 alias 配置
- alias 配置
location /blog {
alias /usr/share/nginx/html/blog;
index index.html index.htm;
}
- 访问结果
6. 结束
虽然内容不对,但是都是“干货”。尤其时我们在配置nginx的时候不是很容易注意到这些东西。所以今天拿出来举例说明下。 希望能对各位有用处。喜欢的话麻烦关注,收藏下。