WEB服务与NGINX(5)- root和alias的区别详解
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的区别详解的更多相关文章
- nginx中root和alias的区别
nginx中root和alias的区别
- 配置 nginx 访问资源目录,nginx配置 root 与 alias 的区别
比如说想要把 /home/source 目录作为资源目录,那么需要如下配置: location /source/ { #识别url路径后,nginx会到/home/文件路径下,去匹配/source r ...
- Web服务器之Nginx详解(操作部分)
大纲 一.前言 二.Nginx 安装与配置 三.Nginx 配置文件详解 四.Nginx 命令参数 五.配置Nginx提供Web服务 六.配置Nginx的虚拟主机 七.配置Nginx的用户认证 八.配 ...
- nginx代理配置 配置中的静态资源配置,root 和 alias的区别。启动注意事项
这篇主要内容是:nginx代理配置 配置中的静态资源配置,root 和 alias的区别.启动注意事项! 为什么会在window上配置了nginx呢?最近我们的项目是静态资源单独放在一个工程里面,后端 ...
- nginx代理配置 配置中的静态资源配置,root 和 alias的区别
这篇主要内容是:nginx代理配置 配置中的静态资源配置,root 和 alias的区别.启动注意事项! 为什么会在window上配置了nginx呢?最近我们的项目是静态资源单独放在一个工程里面,后端 ...
- Nginx中root与alias的用法及区别:
Nginx中root与alias都是定义location {}块中虚拟目录访问的文件位置: 先看看两者在用法上的区别: location /img/ { alias /var/www/image/; ...
- nginx中root与alias关键字的区别
前言 近段时间秋招上岸了,于是每天疯狂补各种分布式基础,每天都在痛苦与快乐中度过. 在学习 nginx 的时候,遇到配置上的问题:root 与 alias 的区别,卡了大概三个小时,记录下来警醒自己不 ...
- nginx 中 root和alias
根本区别 一个请求的url= http://ip:port/path 在location中配置root和alias的区别: root是在location的正则之前拼接了路径 alias是在locati ...
- web缓存服务器varnish-4.1.6的部署及配置详解
web缓存服务器varnish-4.1.6的部署及配置详解 1.安装varnish4.1.6安装依赖 yum install -y autoconf automake jemalloc-devel l ...
- [转帖]Nginx服务器的六种负载均衡策略详解
Nginx服务器的六种负载均衡策略详解 咔咔侃技术 2019-09-11 17:40:12 一.关于Nginx的负载均衡 在服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独 ...
随机推荐
- #莫队,根号分治#洛谷 5071 [Ynoi2015] 此时此刻的光辉
题目传送门 分析 约数个数就是 \(\prod{(c+1)}\),但是带 \(log\) 会TLE, 考虑将每个数分成 \(\leq \sqrt[3]{n}\) 和 \(>\sqrt[3]{n} ...
- SkipList和java中ConcurrentSkipListMap的实现
目录 简介 SkipList ConcurrentSkipListMap SkipList的实现 concurrent的实现 总结 SkipList和java中ConcurrentSkipListMa ...
- 带你玩转OpenHarmony AI:打造智能语音子系统
简介 AI时代,智者当先,判断一个终端设备是否智能,语音能力是必不可缺的.智能家居.智慧厨房.智能汽车等等,一切衣食住行都在往智能方向发展,那我们该如何在OpenAtom OpenHarmony(简称 ...
- Linux 配置Git
前言:请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 一.用git --version命令检查是否已经安装 二.下载git源码并解压 wget https://github.com/git/ ...
- 金融App面临安全风险?解锁HMS Core安全检测服务解决方案
数字经济时代,金融类App成为人们理财.购买证券股票以及办理各项银行业务的重要载体.科技驱动着金融行业的转型升级,但在创新发展的同时,金融App面临的安全风险类型与场景也在持续增加.如何更好地规避安全 ...
- openGauss内存引擎中的索引
一.索引 索引是一种用于快速查询和检索数据的数据结构.常见的索引结构有: B 树, B+树和 Hash. 索引的作用就相当于目录的作用.打个比方: 我们在查字典的时候,如果没有目录,那我们就只能一页一 ...
- jenkins 持续集成和交付——一个java构件小栗子(四)
前言 介绍一下java 构建的小栗子. 正文 maven 管理 java 是用maven 管理包的,那么我们是要安装maven的. 还是那句话,安装这种东西呢,去官网下载然后自己安装,不要用yum a ...
- super()和super(props)
一.ES6类 在ES6中,通过extends关键字实现类的继承,方式如下: class sup { constructor(name) { this.name = name } printName() ...
- python:在cmd中输入pip install pandas 显示‘pip’不是内部或外部命令,也不是可运行的程序 或批处理文件解决办法
1.首先找到自己文件夹中python的安装位置,一定要在Scripts文件夹下,可以看到pip文件,复制这时候的路径 2.使用快捷键 "win +R"打开cmd窗口,首先进入自己 ...
- 将 Terraform 生态粘合到 Kubernetes 世界
简介: 为了更高效,统一的管理云服务,IaC 思想近年来盛行,其中 Terrafrom 更是成功得到了几乎所有的云厂商的采纳和支持.以 Terrafrom 模型为核心的云服务 IaC 生态已经形成.然 ...