location指令说明
该指令用于匹配URL
语法:location [ = | ~ |~* | ^~] url{
}
- =:用于不含正则表达式的url前,要求请求字符串与url严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求。
- ~:用于表示url的正则表达式,并且区分大小写。
- ~*:用于表示url包含正则表达式,并且不区分大小写
- ^~: 用于不含正则表达式的url前,要求nginx服务器找到标识url和请求字符串匹配度最高的location后,立即使用此location处理请求,而不再使用location块中的正则url和请求字符串做匹配
- 注意:如果url包含正则表达式,则必须要有或*标识
Nginx提供的几种分配方式(策略)
- 轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动删除 - Weight(权重)
weight代表权重,默认为1,权重越高被分配的客户端越多
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况 - ip_hash(让用户访问你指定的某一台机器)
每个请求你访问ip的hash结果分配,这样每个访客访问一个后端服务器,可以解决session问题 - fair(第三方/能者多劳)
按后端服务器的响应时间来分配请求,相应时间短的优先分配