1 =前缀的指令严格匹配这个查询。如果找到,停止搜索。
2 所有剩下的常规字符串(无符号),最长的匹配。如果这个匹配使用^〜前缀,搜索停止。
3 正则表达式,在配置文件中定义的顺序。(~或~*,~*为不区分大小写的正则)
4 如果第3条规则产生匹配的话,结果被使用。否则,使用第2条规则的结果。
location ~ .*\.(jpg|png|gif|bmp)$ {
proxy_pass http://imagesever; //反向代理
}
upstream imagesever {
server 127.0.0.1:8080 weight=1 max_fails=2 fail_timeout=30s; //默认负载均衡方式为轮询,这边在轮询基础上加了权重
server 127.0.0.1:8081 weight=1 max_fails=2 fail_timeout=30s;
}
还可以ip_hash(方便固定到某后端服务器),url_hash,fair(响应时间短的优先分配),down(某机器不参与负载),backup(非backup机器down或者忙的时候再请求此机器)
alias,root指令用于访问文件系统,rewrite改写uri用于重定向,set设置变量,break跳出,return返回客户端某状态码
rewrite ^/image/(.*)$ http://www.a.com/image/$1; 注意$1是正则括号里匹配到的内容
系列文章 https://www.cnblogs.com/brianzhu/p/8608460.html
多个Server(虚拟主机)在同一端口怎么办,Host请求头区分虚拟主机,server里不是配了server_name嘛