nginx从入门到放弃

welisit welisit     2022-12-19     338

关键词:

前面我们学习了nginx的基本操作和日志管理,今天我们学习一下生产环境经常会用到的路由定位location设置,在工作中,经常可能会出现怎么设置的路由访问不到网页呀?总是出现404错误啊,这些都很有可能是location的配置有误所导致的,所以学习location的配置也是学习nginx必不可少的一节。

nginx的location路由定位匹配

location是在server中匹配本地的目录,根据不同的url定位到不同的内容上。

 location [=|~|~*|^~] pattern 
     
 
 # 中括号中不写任何参数表示一般匹配,也可以写参数
 # location = patt [精准匹配]
 # location patt [一般匹配]
 # location ~ patt [正则匹配]
# location ~* [正则匹配忽略大小写]
# location ^~ []

如何发挥作用呢?

首先查看是否有精准匹配,如果有,则停止匹配过程。

 location = patt 
    config A
 

如果 $uri == patt, 匹配成功,使用 configA

 location = / 
    root /var/www/html
    index index.htm
 
 location /
    root /data/html
    index index.html
 

上面配置如果访问http://xxx.com/

定位流程是

  1. 精确匹配中 “/” , 得到 index 页为 index.htm

  2. 再次访问 /index.htm,此次内部转跳uri已经是“/index.htm”,所以只能匹配中一般匹配

  3. 在/data/html中查找文件,访问路径是/data/html/index.htm

正则匹配

如果一般匹配能够匹配上,nginx将继续查找是否有正则匹配能够匹配上,如果有就匹配正则匹配。正则匹配是比一般匹配优先的。

总结:location的命中过程

  1. 先判断精准命中,如果命中,立即返回结果并结束匹配过程

  2. 判断普通命中,如果有多个命中,记录下来最长的命中结果,但并不结束

  3. 继续判断正则表达式的匹配结果,按配置里的正则表达式顺序为准,由上到下开始匹配,一旦匹配成功1个,立即返回结果,结束匹配过程。

普通命中,顺序无所谓,是因为按命中的长短来确定的。

正则命中,顺序有所谓,因为是从前往后命中的。

java从入门到放弃

 (1)Java入门变量与注释 用户输入if语句java中的循环while 查看详情

深度学习:从入门到放弃

https://zhuanlan.zhihu.com/p/22976342 首发于深度学习:从入门到放弃写文章登录 FCN学习:SemanticSegmentation余俊1年前感谢@huangh12 @郑途 @麦田守望者对标签图像生成的研究和讨论,这几天研究了一下,补充如下。-------------------... 查看详情

[资源]深度学习从入门到放弃

Relationship:  MachineLearning---->DeepLearning                           ---->DeepReinforcementLearning[LearningRoadMap]              ReinforcementLearningPapers:  DeepLearningPapersReadin 查看详情

vue从入门到放弃(代码片段)

----------------------------------------------------点击这里《专栏目录》查看更多--------------------------------------------------------------------------------------------------------点击这里《专栏目录》查看更多---------------- 查看详情

vue从入门到放弃(代码片段)

----------------------------------------------------点击这里《专栏目录》查看更多--------------------------------------------------------------------------------------------------------点击这里《专栏目录》查看更多---------------- 查看详情

vue从入门到放弃(代码片段)

----------------------------------------------------点击这里《专栏目录》查看更多--------------------------------------------------------------------------------------------------------点击这里《专栏目录》查看更多---------------- 查看详情

积分从入门到放弃

这部分重新从定积分学了1,lnx的导数就是x^(-1)=1/x那么求∫(1/x)dx=ln|x|+C 2,初值问题.就是求∫f(x)dx=F(x)+C求C.  查看详情

凸优化从入门到放弃(目录)

...课程时候的笔记和心得,其中应用篇没有学习。凸优化从入门到放弃00-凸优化引言01-凸集02-凸函数(暂无)03-凸优化问题(暂无)04-对偶(暂无)05-无约束优化算法(暂无)06-等式约束优化算法(暂无)07-内点法(不等式约束优... 查看详情

visualstudioformac从入门到放弃1

MAC 第一步:从微软官网下载:https://www.visualstudio.com/vs/visual-studio-mac/第二步:安装软件过程出现Itwasnotpossibletocompleteanautomaticinstallation.Thismightbeduetoaproblemwithyournetwork,proxyserversoranunsolvablei 查看详情

kubelet从入门到放弃:拓扑管理(上)

<Kubelet从入门到放弃>系列将对Kubelet组件由基础知识到源码进行深入梳理。上一篇zouyee带各位看了CPU管理的相关内容,其中提及拓扑管理,本文将对此进行详细剖析,拓扑管理在Kubernetes1.18时提升为Beta。TopologyManager功能可实现C... 查看详情

观察者模式(从放弃到入门)

观察者模式(从放弃到入门)观察者模式从放弃到入门需求1错误示范需求2观察者模式认识观察者模式需求3Java中自带的观察者模式思考源码ObservableObserver解析一些体会今天分享第二个模式,观察者模式。相信作Android... 查看详情

webpack从入门到放弃之路

公司的中流砥柱要走啦!!!!我要接手这些摊子啦!!!!!硬着头皮上吧!/(ㄒoㄒ)/~~第一部分:webpack使用部分第二部分:自动化部署部分第三部分:前端视频部分tobecontinue… 查看详情

初识pytorch:从安装到入门,从入门到放弃(代码片段)

目录PyTorch安装配置安装验证PyTorchPyTorch是Facebook团队于2017年1月发布的一个深度学习框架,虽然晚于TensorFlow,也没有TensorFlow火,但目前已经与TensorFlow奇虎相当。而且PyTorch采用了Python语言的接口,可以说它才是Pytho... 查看详情

[补档][从入门到放弃]——网络流学习索引

...啊喂) 最长的博文2017-7-29大佬讲课笔记网络流——从入门到放弃没错,就是它==各种题解的索引搭配飞行员士兵占领王者之剑happiness切糕餐巾血帆海盗 查看详情

vue从入门到放弃(代码片段)

vue2.0创建项目命令:(base)goldwater@hujinshuivue%cnpminstall-gvue-cli(base)goldwater@hujinshuivue%vueinitwebpackvue2.0-demo?Projectnamevue2.0-demo#项目名称?ProjectdescriptionAVue.jsproject#项目描述?Au 查看详情

深度学习---从入门到放弃pytorch基础(代码片段)

深度学习—从入门到放弃(一)pytorchTensor类似于numpy的array,pandas的dataframe;在pytorch里的数据结构是tensor,即张量tensor简单操作1.Flattenandreshape###Originalz:tensor([[0,1],[2,3],[4,5],[6,7],[8,9],[10,11]])Flatte 查看详情

转-vue.js2.0从入门到放弃---入门实例

...net/u013182762/article/details/53021374 标签:Vue.jsVue.js2.0Vue.js入门实例Vue.js2.0教程2016-11-0314:4021431人阅读评论(9)收藏举报版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]最近,vue.js越来越火。在这样的大浪潮下,... 查看详情

weex从入门到放弃

一、安装(1)npminstall-gweex-toolkit(2)weexinitawesome-project二、运行项目npmrundev:监测文件变化,执行package.json中的script下的dev,实际执行watch指定npmrunserve:启动服务器两者必须要一起运行,不然每次更改文件都得执行npmrunbuild,先编译,... 查看详情