反向代理实例1


 1、实现效果


2、实现步骤

   ① 修改host文件(文件地址:C:\Windows\System32\drivers\etc)

   

nginx 指定 PID_负载均衡

 IP地址根据实际情况以部署nginx的虚拟机IP地址为参照,使用nginx默认80端口号。

 通过配置的本地虚拟域名来进行访问nginx

nginx 指定 PID_正则匹配_02

   ② 在nginx按照目录的conf目录下找到nginx.conf配置里server块,并添加proxy_pass属性为转发代理的服务地址。  

nginx 指定 PID_正则匹配_03

 ③配置完成后重启nginx,然后用浏览器访问www.sanmao.com,会跳转到http://www.baidu.com。

反向代理实例2


 配置多个location,并根据不同的路径匹配规则跳转到不同的服务中去,匹配规则详见

www.sanmao.com/edu        跳转到  192.168.126.106:8080

www.sanmao.com/vod        跳转到  192.168.126.106:8081

修改配置文件server块,添加如下内容

nginx 指定 PID_负载均衡_04

修改完成后重启nginx,用浏览器分别访问测试。

nginx 指定 PID_负载均衡_05

 

nginx 指定 PID_nginx_06

 补充location如何使用


location 前缀




/       通用匹配,任何请求都会匹配到。

=     精准匹配,不是以指定模式开头

~     正则匹配,区分大小写

~*    正则匹配,不区分大小写

^~    非正则匹配,匹配以指定模式开头的location


location匹配顺序

· 多个正则location直接按书写顺序匹配,成功后就不会继续往后面匹配

· 普通(非正则) location 会一直往下,直到找到匹配度最高的(最大前缀匹配)

· 当普通 location 与正则 location 同时存在,如果正则匹配成功 , 则不会再执行普通匹配

· 所有类型 location 存在时, “=” 匹配 > “^~” 匹配 > 正则匹配 > 普通(最大前缀匹配)


负载均衡 

nginx.conf配置修改,添加负载均衡属性配置,其中一块为负载均衡的服务配置,另外一块是代理转发的配置,如下

nginx 指定 PID_nginx 指定 PID_07

 配置完成后重启nginx并用浏览器访问测试

nginx 指定 PID_nginx_08

 

nginx 指定 PID_nginx_09

 负载均衡策略

轮询

默认情况下使用轮询方式,逐一转发,这种方式适用于无状态请求


weight( 权重 )


指定轮询几率, weight 和访问比率成正比,用于后端服务器性能不均的情况。




nginx 指定 PID_nginx 指定 PID_10


ip_hash


根据客户端的 ip 地址转发同一台服务器,可以保持回话。


nginx 指定 PID_nginx_11


least_conn


最少连接调度算法,优先将客户端请求调度到当前连接最少的后端服务器。

nginx 指定 PID_正则匹配_12


url_hash


根据用户访问的 url 定向转发请求


fair


根据后端服务器响应时间转发请求