[转] Nginx配置中的location、root、alias

Nginx配置中的location、root、alias

location & root

初始配置

[root@adailinux vhost]# cat rio.conf server { listen 80; server_name rio.com; location /r/ { root /data/wwwroot/rio.com/; } }

目录结构

[root@adailinux vhost]# tree /data/wwwroot/rio.com/ /data/wwwroot/rio.com/ ├── file1.html └── r ├── file2.html └── t └── file3.html

测试

更改配置

[root@adailinux vhost]# cat rio.conf server { listen 80; server_name rio.com; location /r/ { root /data/wwwroot/rio.com/t/; } } [root@adailinux vhost]# /usr/local/nginx/sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful [root@adailinux vhost]# /usr/local/nginx/sbin/nginx -s reload

测试:

 

总结

location和root组合至关于在root指定目录下进行location匹配,location所匹配内容必须保证在root指定目录的子目录,不然配置无效,并且location只能向下匹配,不能匹配location指定目录上一级目录中的内容。javascript

location & alias

初始配置

[root@adailinux vhost]# cat rio.conf server { listen 80; server_name rio.com; location /r/ { alias /data/wwwroot/rio.com/r/; } }

测试

更改配置

[root@adailinux vhost]# cat rio.conf server { listen 80; server_name rio.com; location /r/ { alias /data/wwwroot/rio.com/; } } [root@adailinux vhost]# /usr/local/nginx/sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful [root@adailinux vhost]# /usr/local/nginx/sbin/nginx -s reload

测试

总结

location与alias组合,须要保证location匹配目录与alias指定目录级别相同,不然配置无效,与location和root组合相同的是,location所匹配内容也只能向下匹配。html

注意事项

  1. 使用alias,目录名后面必定要加“/”
  2. alias只能在location中使用

补充:root&alias文件路径配置

root/alias 是指定文件路径的两种方式,主要区别就是怎么解析location后面的uri。 eg: 访问:http://localhost/appImg/abc.jpgjava

  • root:
location ^~ /appImg/{ root /home/nginx; }

这个location至关于访问服务器上的文件路径: /home/nginx/appImg/abc.jpg 。linux

  • alias:
location ^~ /appImg/{ alias /home/nginx/; }

这个location至关于访问服务器上的文件目录:/home/nginx/abc.jpg(即alias不会使用location后面配置的路径)。并且若是alias 指定的是目录,后面必定要加上 "/"。。。nginx

(adsbygoogle = window.adsbygoogle || []).push({});服务器

相关文章
相关标签/搜索