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. OpenHarmony——内核对象队列之算法详解(下)

    前言 OpenAtom OpenHarmony(以下简称"OpenHarmony") LiteOS-M 内核是面向 IoT 领域构建的轻量级物联网操作系统内核,具有小体积.低功耗. ...

  2. 深度剖析:Dubbo使用Nacos注册中心的坑

    2020年笔者在做微服务部件升级时,Dubbo的注册中心从Zookeeper切换到Nacos碰到个问题,最近刷Github又有网友提到类似的问题,就在这篇文章里做个梳理和总结. 1.问题描述 前几年我 ...

  3. IDEA Tab键设置为4个空格

    在不同的编辑器里 Tab 的长度可能会不一致,这会导致有 Tab 的代码,用不同的编辑器打开时,格式可能会乱. 而且代码压缩时,空格会有更好的压缩率. 所以建议将 IDEA 的 Tab 键设置为 4 ...

  4. HMS Core机器学习服务,高效助力跨语种沟通

    5月24日, HUAWEI Developer Day(简称HDD)线上沙龙·创新开发专场活动成功举办.HMS Core机器学习服务(ML Kit)产品经理在会上围绕机器翻译的技术优势.使用场景和接入 ...

  5. Jenkins安装插件很慢的解决方法

    修改 Jenkins /  update  /  default.json  这个文件就可以了 修改内容 1. 把 " www.google.com "  改成  " h ...

  6. MogDB/openGauss 开机自启动

    MogDB/openGauss 开机自启动 在 centos7.6 操作系统上设置 MogDB/openGauss 开机自启动,我们先来了解一下自定义服务的配置文件组成部分,共分为[Unit].[Se ...

  7. 编译安装openGauss 3.0.0

    编译安装 openGauss 3.0.0 环境检查 1.1 检查 OS 版本 openGauss支持的操作系统: CentOS 7.6(x86 架构) openEuler-20.03-LTS(aarc ...

  8. Windows系统编译libhv带SSL,开启WITH_OPENSSL

    需要开发一个https的服务,使用libhv来做,需要重新编译libhv,需要开启 WITH_OPENSSL,前面编译一直很顺利,但是打开VS生成动态库的时候,报错,找不到ssl相关的文件,看了官方的 ...

  9. DevEco Hvigor高效编译,构建过程新秘籍

      作者:Lewei,华为终端BG编译构建技术专家 DevEco Hvigor是使用TypeScript语言开发的全新轻量化的任务调度工具,针对HarmonyOS应用提供了一系列编译构建任务,支持将H ...

  10. 基于ArkUI开发框架,图片马赛克处理的实现

     原文:https://mp.weixin.qq.com/s/60HDKcBFV7GTjZpzeHtjeg,点击链接查看更多技术内容.     关于马赛克   马赛克是一种使用较为广泛的图片处理方式, ...