反向代理
通常的代理服务器,只用于代理内部网络对 Internet 的连接请求,客户机必须指定代理服务器,并将本来要直接发送到 Web 服务器上的 http 请求发送到代理服务器中由代理服务器向 Internet 上的 web 服务器发起请求,最终达到客户机上网的目的。
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://192.168.1.10:8080;
}
}
反向代理的配置也是在虚拟主机server中,proxy_pass表示请求被代理的地址,同样location也可以进行配置访问的url,详见。
负载均衡
负载均衡,英文名称为 Load Balance,简称LB(lowB),将请求均匀的分配到不同的服务上
upstream tomcat_server_pool{
ip_hash;
server 192.168.177.130:8080 weight=10 max_conns=800 max_fails=1 fail_timeout=20;
server 192.168.177.130:8081 weight=10;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://tomcat_server_pool;
}
}
upstream表示负载均衡的机器,而proxy_pass直接指向upstream即可
upstream配置说明
- server
反向服务地址 加端口 - weight
权重,指定轮询几率 - max_fails
失败多少次 认为主机已挂掉则,踢出 - fail_timeout
踢出后重新探测时间,服务被踢出后,每隔20秒检测一次 - max_conns
允许最大连接数,根据服务器性能设置最大连接数
负载均衡算法:
- 轮询
- ip_hash :
基于 Hash 计算,使得客户端的 ip 访问固定的 web(好处,保持session一致) - least_conn
最少链接 - least_time 最小的响应时间,计算节点平均响应时间,然后取响应最快的那个,分配更高权重。