root和alias的区别

  • root:指定站点家目录,给定的路径对应于location中的/uri 左侧的/,文件的绝对路径为root+location。

    支持环境:http, server, location, if in location

    #1.nginx的配置文件如下:
    [root@nginx01 ~]# vim /etc/nginx/conf.d/virtualhost.conf
    server {
    listen 80;
    server_name www.nginx01.com;
    location / {
    root /data/nginx/html/web1;
    index index.html;
    }
    location /images {
    root /data/nginx/html/web1/pictures;
    index index.html;
    }
    } #2.nginx的目录结构:
    [root@nginx01 ~]# cd /data/nginx/html/web1/
    [root@nginx01 web1]# mkdir pictures
    [root@nginx01 web1]# echo "jpg" > pictures/test.html #3.重启nginx
    [root@nginx01 web1]# nginx -t
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    [root@nginx01 web1]# systemctl reload nginx.service #4.此时客户端请求下面的资源时会报404错误,因为在web1下没有images目录
    [root@xuzhichao ~]# curl http://www.nginx01.com/images/test.html
    <html>
    <head><title>404 Not Found</title></head>
    <body>
    <center><h1>404 Not Found</h1></center>
    <hr><center>nginx/1.20.1</center>
    </body>
    </html> #5.如果在pictures下新建一个images目录,把test.html放在images目录下,则可以正常访问
    [root@nginx01 web1]# mkdir pictures/images
    [root@nginx01 web1]# mv pictures/test.html pictures/images/
    [root@nginx01 web1]# tree pictures/
    pictures/
    └── images
    └── test.html [root@xuzhichao ~]# curl http://www.nginx01.com/images/test.html
    jpg
  • alias:定义路径别名,会把访问的路径重新定义到期指定的路径

    注意:在使用alias的时候,location后的uri后面如果加了斜杠,则下面alias定义的路径也必选加斜杠,否则会提示403

    仅能用于location上下文

    #1.nginx的配置如下
    [root@nginx01 web1]# vim /etc/nginx/conf.d/virtualhost.conf
    server {
    listen 80;
    server_name www.nginx01.com;
    location / {
    root /data/nginx/html/web1;
    index index.html;
    }
    location /images {
    alias /data/nginx/html/web1/pictures;
    index index.html;
    }
    } #2.重启nginx进程
    [root@nginx01 web1]# nginx -t
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    [root@nginx01 web1]# systemctl reload nginx.service #3.web1下的目录文件如下:
    [root@nginx01 web1]# tree pictures/
    pictures/
    └── images
    └── test.html #4.此时客户端请求下面的资源时会报404错误,因为在web1下没有images目录
    [root@xuzhichao ~]# curl http://www.nginx01.com/images/test.html
    <html>
    <head><title>404 Not Found</title></head>
    <body>
    <center><h1>404 Not Found</h1></center>
    <hr><center>nginx/1.20.1</center>
    </body>
    </html> #5.如把web1的目录结构改成下面的,则客户端可以正常访问
    [root@nginx01 web1]# tree .
    .
    ├── index.html
    └── pictures
    └── test.html [root@xuzhichao ~]# curl http://www.nginx01.com/images/test.html
    jpg

WEB服务与NGINX(5)- root和alias的区别详解的更多相关文章

  1. nginx中root和alias的区别

    nginx中root和alias的区别    

  2. 配置 nginx 访问资源目录,nginx配置 root 与 alias 的区别

    比如说想要把 /home/source 目录作为资源目录,那么需要如下配置: location /source/ { #识别url路径后,nginx会到/home/文件路径下,去匹配/source r ...

  3. Web服务器之Nginx详解(操作部分)

    大纲 一.前言 二.Nginx 安装与配置 三.Nginx 配置文件详解 四.Nginx 命令参数 五.配置Nginx提供Web服务 六.配置Nginx的虚拟主机 七.配置Nginx的用户认证 八.配 ...

  4. nginx代理配置 配置中的静态资源配置,root 和 alias的区别。启动注意事项

    这篇主要内容是:nginx代理配置 配置中的静态资源配置,root 和 alias的区别.启动注意事项! 为什么会在window上配置了nginx呢?最近我们的项目是静态资源单独放在一个工程里面,后端 ...

  5. nginx代理配置 配置中的静态资源配置,root 和 alias的区别

    这篇主要内容是:nginx代理配置 配置中的静态资源配置,root 和 alias的区别.启动注意事项! 为什么会在window上配置了nginx呢?最近我们的项目是静态资源单独放在一个工程里面,后端 ...

  6. Nginx中root与alias的用法及区别:

    Nginx中root与alias都是定义location {}块中虚拟目录访问的文件位置: 先看看两者在用法上的区别: location /img/ { alias /var/www/image/; ...

  7. nginx中root与alias关键字的区别

    前言 近段时间秋招上岸了,于是每天疯狂补各种分布式基础,每天都在痛苦与快乐中度过. 在学习 nginx 的时候,遇到配置上的问题:root 与 alias 的区别,卡了大概三个小时,记录下来警醒自己不 ...

  8. nginx 中 root和alias

    根本区别 一个请求的url= http://ip:port/path 在location中配置root和alias的区别: root是在location的正则之前拼接了路径 alias是在locati ...

  9. web缓存服务器varnish-4.1.6的部署及配置详解

    web缓存服务器varnish-4.1.6的部署及配置详解 1.安装varnish4.1.6安装依赖 yum install -y autoconf automake jemalloc-devel l ...

  10. [转帖]Nginx服务器的六种负载均衡策略详解

    Nginx服务器的六种负载均衡策略详解 咔咔侃技术 2019-09-11 17:40:12 一.关于Nginx的负载均衡 在服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独 ...

随机推荐

  1. #莫队,根号分治#洛谷 5071 [Ynoi2015] 此时此刻的光辉

    题目传送门 分析 约数个数就是 \(\prod{(c+1)}\),但是带 \(log\) 会TLE, 考虑将每个数分成 \(\leq \sqrt[3]{n}\) 和 \(>\sqrt[3]{n} ...

  2. SkipList和java中ConcurrentSkipListMap的实现

    目录 简介 SkipList ConcurrentSkipListMap SkipList的实现 concurrent的实现 总结 SkipList和java中ConcurrentSkipListMa ...

  3. 带你玩转OpenHarmony AI:打造智能语音子系统

    简介 AI时代,智者当先,判断一个终端设备是否智能,语音能力是必不可缺的.智能家居.智慧厨房.智能汽车等等,一切衣食住行都在往智能方向发展,那我们该如何在OpenAtom OpenHarmony(简称 ...

  4. Linux 配置Git

    前言:请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 一.用git --version命令检查是否已经安装 二.下载git源码并解压 wget https://github.com/git/ ...

  5. 金融App面临安全风险?解锁HMS Core安全检测服务解决方案

    数字经济时代,金融类App成为人们理财.购买证券股票以及办理各项银行业务的重要载体.科技驱动着金融行业的转型升级,但在创新发展的同时,金融App面临的安全风险类型与场景也在持续增加.如何更好地规避安全 ...

  6. openGauss内存引擎中的索引

    一.索引 索引是一种用于快速查询和检索数据的数据结构.常见的索引结构有: B 树, B+树和 Hash. 索引的作用就相当于目录的作用.打个比方: 我们在查字典的时候,如果没有目录,那我们就只能一页一 ...

  7. jenkins 持续集成和交付——一个java构件小栗子(四)

    前言 介绍一下java 构建的小栗子. 正文 maven 管理 java 是用maven 管理包的,那么我们是要安装maven的. 还是那句话,安装这种东西呢,去官网下载然后自己安装,不要用yum a ...

  8. super()和super(props)

    一.ES6类 在ES6中,通过extends关键字实现类的继承,方式如下: class sup { constructor(name) { this.name = name } printName() ...

  9. python:在cmd中输入pip install pandas 显示‘pip’不是内部或外部命令,也不是可运行的程序 或批处理文件解决办法

    1.首先找到自己文件夹中python的安装位置,一定要在Scripts文件夹下,可以看到pip文件,复制这时候的路径 2.使用快捷键  "win +R"打开cmd窗口,首先进入自己 ...

  10. 将 Terraform 生态粘合到 Kubernetes 世界

    简介: 为了更高效,统一的管理云服务,IaC 思想近年来盛行,其中 Terrafrom 更是成功得到了几乎所有的云厂商的采纳和支持.以 Terrafrom 模型为核心的云服务 IaC 生态已经形成.然 ...