本文的重点是详细介绍在Nginx的一个网站域名上浏览几个项目的方法。原文中的详细介绍根据示例代码非常详细,对大家学习培训或者应用Nginx有一定的参考价值。和有必要的朋友一起了解一下吧。
详细情况
最近在几个项目的部署中遇到了这样一个难题,如何为一个网站域名浏览几个项目。因为不想独立办理域名证书和网站域名分配,所以记住了这个方案,通过整合Nginx的定位功能完成了自己的要求,所以写了下来。在示例中,PHP被用作项目测试,其他语言也以同样的方式部署。比如节点的工程可以进行位置认证,然后使用porxy_pass反向代理控制模块完成。
位置控制模块匹配的详细说明
1."="前缀命令匹配。如果匹配成功,其他匹配将被终止。
2.一般字符串数组命令匹配,顺序从长到短,位置匹配成功。如果应用~将终止其他匹配(常规匹配)。
3.正则表达式命令匹配,根据环境变量中的顺序,如果成功,其他匹配将被终止。
4.如果第三步匹配成功,则应用结果,否则,应用第二步的结果。
小心点
1.匹配的顺序是先匹配一般的字符串数组,再匹配正则表达式。另外,一般字符串数组的匹配顺序是基于配置中字符的长度从长到短。换句话说,应用一般字符串数组配置的位置顺序是不相关的。简而言之,nginx最终会根据配置长度进行匹配,但必须注意的是,正则表达式是根据环境变量中的顺序进行检测的。找到第一个匹配的正则表达式将终止搜索。
2.一般情况下,通用字符串数组位置匹配成功后,正则表达式位置匹配会继续。有两种方法可以改变这种个人行为。一种是应用前缀“=”。此时实行严格匹配,匹配成功后会立即终止其他匹配。另外,这个要求也会解决。另一个是应用前缀“~”,如果这个前缀作为基本字符串数组,那么告诉nginx如果路径匹配就不要检测正则表达式。
location=/uri=开始显示精确匹配,完全匹配才有效。
location^~/uri~开始URL路径的前缀匹配,在正则表达式之前。
location~pattern~开始显示区分英文大小写的规则匹配。
location~*pattern~*开始显示不区分英文大小写的常规匹配。
location/uri无修饰符也表示前缀匹配,但是在常规匹配之后。
location/通用匹配,所有没有匹配到其他位置的需求都会被匹配,相当于switch中的默认。
装备箱
浏览实际效果
1.浏览a1项目
2.浏览a2项目
摘要
这就是本文的全部内容。希望本文中的内容对大家的学习培训或者工作有一定的参考价值。感谢您的申请。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)