nginx的root、alias指令配置区别

nginx的root、alias指令区别

  • alias指定的目录是准确的,即location匹配访问的path目录下的文件直接是在alias目录下查找的;
  • root指定的目录是location匹配访问的path目录的上一级目录,这个path目录一定要是真实存在root指定目录下的;
* root alia
语法 root path alias path
配置段 http、server、locationif location
默认值 root html
处理结果 root值 + location值 alias值
必须“/”结束

Demo说明

一、比如nginx配置的域名是www.wangshibo.com

location /huan/ {
      alias /home/www/huan/;
}

在上面alias虚拟目录配置下,访问http://www.wangshibo.com/huan/a.html实际指定的是/home/www/huan/a.html。

alias指定的目录后面必须要加上"/",即/home/www/huan/不能改成/home/www/huan

上面的配置也可以改成root目录配置,如下,这样nginx就会去/home/www/huan下寻找http://www.wangshibo.com/huan的访问资源,两者配置后的访问效果是一样的!

location /huan/ {
       root /home/www/;
}

二、配置文件

server {
      listen      80;
      server_name www.kevin.com;
     
      access_log  /data/nginx/logs/www.kevin.com-access.log main;
      error_log  /data/nginx/logs/www.kevin.com-error.log;
     
 location / {
      root /data/web/kevin;
      index index.php index.html index.htm;
      }
 
  location /document/ {
      alias /data/web/document/;
}
 
  }

访问http://www.kevin.com/admin 就会找到/data/web/kevin/admin目录
访问http://www.kevin.com/document 就会找到/data/web/document 目录

你可能感兴趣的:(nginx,运维)