深入理解Nginx~文件路径的定义

1、以root方式设置资源路径

语法: root path;
默认: root html;
配置块: http、server、location、if

eg.定义资源文件相对于HTTP请求的根目录

location /download/ {root optwebhtml;
}

在上面的配置中,如果有一个请求的URI是/download/index/test.html,那么Web服务器将
会返回服务器上optwebhtml/download/index/test.html文件的内容。

2、以alias方式设置资源路径

语法: alias path;
配置块: location

与root的不同点主要在于如何解读紧跟location后
面的uri参数,这将会致使alias与root以不同的方式将用户请求映射到真正的磁盘文件上。例
如,如果有一个请求的URI是/conf/nginx.conf,而用户实际想访问的文件
在usrlocal/nginx/conf/nginx.conf,那么想要使用alias来进行设置的话,可以采用如下方式:

location conf {alias usr/local/nginx/conf/;
}

alias后面还可以添加正则表达式

location ~ ^/test/(\w+)\.(\w+)$ {alias usrlocal/nginx/$2/$1.$2;
}

这样,请求在访问/test/nginx.conf时,Nginx会返回usrlocal/nginx/conf/nginx.conf文件中的内容。

3、访问首页

语法: index file...;
默认: index index.html;
配置块: http、server、location

index后可以跟多个文件参数,Nginx将会按照顺序来访问这些文件,

location {root path;index index.html htmlindex.php /index.php;
}

        接收到请求后,Nginx首先会尝试访问path/index.php文件,如果可以访问,就直接返回文件内容结束请求,否则再试图返回path/htmlindex.php文件的内容,依此类推。

4、根据HTTP返回码重定向页面

语法: error_page code[code...][=|=answer-code]uri|@named_location
配置块: http、server、location、if

当对于某个请求返回错误码时,如果匹配上了error_page中设置的code,则重定向到新
的URI中。

error_page 404 404.html;
error_page 502 503 504 50x.html;
error_page 403 http://example.com/forbidden.html; 
error_page 404 =@fetch;

注意,虽然重定向了URI,但返回的HTTP错误码还是与原来的相同。用户可以通
过“=”来更改返回的错误码

error_page 404 =200 empty.gif;
error_page 404 =403 forbidden.gif;

也可以不指定确切的返回错误码,而是由重定向后实际处理的真实结果来决定,这时,
只要把“=”后面的错误码去掉即可

error_page 404 = /empty.gif;

如果不想修改URI,只是想让这样的请求重定向到另一个location中进行处理,那么可以
这样设置:

location / (error_page 404 @fallback;
) 
location @fallback (proxy_pass http://backend;
)

这样,返回404的请求会被反向代理到http://backend 上游服务器中处理

5、是否允许递归使用error_page

语法: recursive_error_pages[on|off];
默认: recursive_error_pages off;
配置块: http、server、location

6、try_files

语法: try_files path1[path2]uri;
配置块: server、location

        尝试按照顺序访问每一个path,如果可以有效地读取,就直接向用户返回这个path对应的文件结束请求,否则继续向下访问。如果所有的path都找不到有效的文件,就重定向到最后的参数
uri上。因此,最后这个参数uri必须存在,而且它应该是可以有效重定向的

try_files systemmaintenance.html $uri $uri/index.html $uri.html @other;
location @other {proxy_pass http://backend;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/495616.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小甲鱼 OllyDbg 教程系列 (八) :fjproducer 逆向 之 困境

小甲鱼 OllyDBG 教程:https://www.bilibili.com/video/av30969642?p15 程序下载地址: https://pan.baidu.com/s/1xTBrvuAx6hsyHQ2RsYiCoA 提取码: 11sd 打开程序显示如下: 可以看到标题栏的 Flash Jigsaw Produce (unregistered),可以根…

在sharepoint中添加视频播放

年初的时候想把公司举办的春晚发布在sharepoint中供大家观看,但是视频文件太大了,放到文档库中存储到数据库中是一个不切实际的办法,后来就搁置了。 其实也一直在想优酷等视频网站的发布方式,但没能得到解答。最近无意中发现了网页…

深入理解Nginx~网络连接的设置

1、读取HTTP头部的超时时间 语法: client_header_timeout time(默认单位:秒); 默认: client_header_timeout 60; 配置块: http、server、location 如果在一个时间间隔(超时时间)内没…

佛祖保佑永无BUG 神兽护体 代码注释(各种版本)

佛祖保佑 永无BUG 注释 1: /*_ooOoo_o8888888o88" . "88(| -_- |)O\ /O____/---\____. \\| |// ./ \\||| : |||// \/ _||||| -:- |||||- \| | \\\ - /// | || \_| \---/ | |\ .-\__ - ___/-. /___. . /--.--\ . . __.&qu…

打破国外垄断,我国拿下一项“制芯”关键技术

来源:科技日报“PM2.5,是大家很熟悉的微小颗粒物,直径小于或等于2.5微米。但我们研制这种制造芯片的关键材料,在过程中如果进入了哪怕PM1.0的粉尘,这个材料就是废品,就不能被应用到芯片当中。”唐一林唐一林…

离婚从来不是解决家庭危机的唯一办法

离婚从来不是解决家庭危机的唯一办法——跟“快乐女人编辑”网友贴作者:独孤醒狮或许真的是场误会,他又不方便跟你解释。退一万步,即便真的是他错了,你也应该给予些宽容。我也是男人,可以和你透句心窝窝里的话&#xf…

西电焦李成教授解读《高等学校人工智能创新行动计划》

来源:砍柴网不久之前,教育部公布了《高等学校人工智能创新行动计划》(以下简称计划),计划在人工智能人才培养、产学研等方面有哪些亮点?人工智能领域学科建设前景如何?针对公众关注的问题&#…

Git 和 Github 秘籍

GitHub秘籍 Git 和 Github 秘籍,灵感来自于 Zach Holman 在 2012 年 Aloha Ruby Conference 和 2013 年 WDCNZ 上所做的演讲:Git and GitHub Secrets(slides) 和 More Git and GitHub Secrets(slides)。 其他语言版本: English, 한국어, 日本語, 简体中…

Guava入门~Monitor

线程同步 1、在线程上调用wait()方法,并使用while循环; while(someCondition){try {wait();} catch (InterruptedException e) {//In this case we dont care, but we may want//to propagate with Thread.interrupt()} } 2、notifyAll()唤醒阻塞的线…

在窗体上画图,并响应手标事件的实例

只是简单地处理了一下利用paint事件和mousemove事件复杂的就要多考虑了随机画几个图形并响应手标 源码地址:在窗体上画图,并响应手标事件的实例转载于:https://www.cnblogs.com/jiamao/archive/2011/01/29/1947345.html

为什么人类大脑与众不同?这种模式动物或揭开大脑体积演化之谜

来源 | HOWARD HUGHES MEDICAL INSTITUTE翻译 | 周盈宵审校 | 常玮导语:通过使一个与人类小头畸形相关的基因失活,研究人员得到第一只神经系统变异的雪貂。霍华德休斯医学研究所(HHMI)的研究者Christopher Walsh说,尽管…

小甲鱼 OllyDbg 教程系列 (七) :VB 程序逆向分析

小甲鱼视频:https://www.bilibili.com/video/av6889190?p14 VB程序逆向反汇编常见的函数:https://www.cnblogs.com/bbdxf/p/3780187.html 程序下载地址:链接:https://pan.baidu.com/s/18igiL-YWn9wnIrJfKT8gBA 提取码&…

如何搭建一个 Data Guard 环境

在Blog里零零散散的讲了一些DB 维护的东西,比较杂,也比较散。 这里就Oracle Data Guard 这块做一个小结。 主要是流程上的东西。 做个参考,以后装DG,照这个流程走就ok了。 一. 服务器设置1.1 硬盘的规划根据自己的业务量来规划硬…

一文尽揽2018 Google I/O:谷歌让你感受到AI科技的魅力

来源:智者无疆摘要:今年的主角依然是AI人工智能,它已经融入谷歌产品与软件系统中,但这次,谷歌在讲解AI或产品功能时候从理解人类和人性的角度举例,把AI带到了科技与人文的十字路口上。5月9日凌晨消息&#…

小甲鱼 OllyDbg 教程系列 (六) :PJ 软件功能限制(不修改jnz的非爆破方法)

小甲鱼视频地址:https://www.bilibili.com/video/av6889190?p13 小甲鱼OD学习第9讲:https://www.bbsmax.com/A/x9J23xEM56/ 程序下载地址:https://pan.baidu.com/s/1JTQ32xIBV6XiPtuXsOIgiw 提取码: r5t4 这次我们的任务是 pj 去掉注册软…

HTTP 和 HTTPS 协议

HTTP协议是什么? 简单来说,就是一个基于应用层的通信规范:双方要进行通信,大家都要遵守一个规范,这个规范就是HTTP协议。 HTTP协议能做什么? 很多人首先一定会想到:浏览网页。没错,浏…

卡耐基梅隆大学提出新型「自适应」技术,可提高「个性化神经机器翻译」质量...

原文来源:arXiv作者:Paul Michel、Graham Neubig「雷克世界」编译:嗯~是阿童木呀导语:现如今,随着人工智能的发展,机器翻译在一定程度上取得了很大的进展,但是大家都知道,语言的产生…

小甲鱼 OllyDbg 教程系列 (九) :Delphi 程序逆向特点

小甲鱼 OllyDBG 使用教程:https://www.bilibili.com/video/av30969642?p16 OD 实验(十二) - 对一个 Delphi 程序的逆向:https://www.cnblogs.com/sch01ar/p/9678256.html 程序下载地址:https://pan.baidu.com/s/1Gb97C6HBNlmph7MbGrN_SQ …

Guava入门~AsyncFunction

与Function接口类型&#xff0c;接收一个参数&#xff0c;返回一个对象。不同的是&#xff0c;其返回的是ListenableFuture public class AsyncFuntionSample implements AsyncFunction<Long,String> {private ConcurrentMap<Long,String> map Maps.newConcurren…

基于系统科学理论的认知科学研究进展

来源&#xff1a;人机与认知实验室摘要&#xff1a; 系统科学的一个未曾言明的假设是&#xff0c;一切事物都是以系统方式存在和运行的&#xff0c;都可以用系统观点来认识&#xff0c;一切问题都需要用系统方式来处理。关于认知的一系列问题也不例外。一、研究背景及方法2000年…