nginx location 匹配规则
2021-07-11 本文已影响0人
AD刘涛
处理静态内容
root 指令
首先,创建/data/ www
目录并在该目录下创建index.html
文件,其次创建/data/images
目录并在该目录下放入一些图片。
接下来,打开配置文件。默认配置文件已经包含多个服务器块的几个示例,大部分注释掉了。现在,注释掉所有这些块,并启动一个新的服务器块。内容如下:
server {
listen 90;
location / {
root /data/www;
}
location /images/ {
root /data;
}
}
当我们在浏览器输入以下地址时,http://127.0.0.1:90
,则会显示/data/www
目录下的index.html
文件;当我们在浏览器输入以下地址时,http://127.0.0.1:90/images/1.jpeg
,则会显示/data/images
目录下的图片。
我们在浏览器中输入以下地址
http://127.0.0.1:90/images/1.jpeg
访问图片的时候,路由中的/images/
会拼接在/data
后,然后去访问/data/images/
目录下的图片资源。
alias 指令
我们也可以使用alias
指令。如下
#location /images/ {
# root /data;
#}
location /images {
alias /data/images;
}
当我们在浏览器输入以下地址时,http://127.0.0.1:90/images/1.jpeg
,则会显示/data/images
目录下的图片。
root 指令与 alias 指令的区别
假如图片在服务器中的路径为 /data/images/file/img/1.jpeg
- root 路径完全匹配访问
location /images {
root /data
}
用户访问的时候,请求为:url:port/images/file/img/1.jpeg
- alias 则可以为该路径起个别名
location /hello {
alias /data/images;
}
用户访问的时候,请求为:url:port/hello/file/img/1.jpeg
。如此相当于为目录/data/images
做了一个别名。