关于nginx根据url进行负载分配即location部分的相关设置

时间:2021-06-02 04:02:09

有一个需求就是根据不同访问的url,分配到不同的负载机上。以下以location字段的实际例子来说明:

location = / {
   “=”符号表示精确匹配,此处表示访问根目录,如http://localhost/
}
location = /login {
   如上,如访问http://localhost/login
}
location ^~ /static/ {
   “^~”表示开头匹配,如访问http://localhost/static/a.jsp(***);
}
location ~ \.(gif|jpg|png|js|css)$ {
   "~"表示正则匹配,且区分大小写
}
location ~* \.png$ {
   “~*”表示不区分大小写的正则匹配
}
location !~ \.xhtml$ {
   “!~”不匹配且区分大小写
}
location !~* \.xhtml$ {
   “!~*”不匹配,不区分大小写
}
location / {
   通用匹配,任何都可以匹配到这里
}


另外有一个比较常用的地方需要注意:

location ^~ /ma/ {

  //假设访问的是localhost/ma/a.jsp

  proxy_pass  http://abc //此处转发到http://abc.jsp

  proxy_pass  http://abc/ //此处转发到http://abc/ma/a.jsp

}


关联

聚合关系

组合关系

依赖关系

泛化关系

接口与实现关系