Nginx一个域名访问多个项目的方法实例

Nginx一个域名访问多个项目的方法实例,第1张

Nginx一个域名访问多个项目的方法实例

本文的重点是详细介绍在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中的默认。

装备箱

server{ listen80; server_nametest.com; indexindex.htmlindex.htmindex.php; charsetkoi8-r; access_log/var/log/nginx/host.access.logmain; #网站域名项目1名字 location^~/a1/{ alias/usr/share/nginx/html/a1/public/; } #网站域名项目2名字 location^~/a2/{ alias/usr/share/nginx/html/a2/public/; } error_page404/404.html; #redirectservererrorpagestothestaticpage/50x.html error_page500502503504/50x.html; location=/50x.html{ root/usr/share/nginx/html/500.html; } #passthePHPscriptstoFastCGIserverlisteningon127.0.0.1:9000 location~\.php${ roothtml; fastcgi_pass127.0.0.1:9000; fastcgi_indexindex.php; fastcgi_paramSCRIPT_FILENAME/scripts$fastcgi_script_name; includefastcgi_params; } location~/\.ht{ denyall; } }

浏览实际效果

1.浏览a1项目

2.浏览a2项目

摘要

这就是本文的全部内容。希望本文中的内容对大家的学习培训或者工作有一定的参考价值。感谢您的申请。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/774725.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存