Nginx配置解析整理( 三 )


通常的代理服务器 , 只用于代理内部网络对Internet的连接请求 , 客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中由代理服务器向Internet上的web服务器发起请求 , 最终达到客户机上网的目的 。
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求 , 然后将请求转发给内部网络上的服务器 , 并将从服务器上得到的结果返回给internet上请求连接的客户端 , 此时代理服务器对外就表现为一个反向代理服务器
location /basic_status {
proxy_pass http://localhost/
}
 

Nginx配置解析整理

文章插图
 
upstream
反向代理配合upstream使用
upstream httpds {
server 192.168.43.152:80;
server 192.168.43.153:80;
}
weight(权重)
指定轮询几率 , weight和访问比率成正比 , 用于后端服务器性能不均的情况 。
upstream httpds {
server 127.0.0.1:8050 weight=10 down;
server 127.0.0.1:8060 weight=1;
server 127.0.0.1:8060 weight=1 backup;
}
  • down:表示当前的server暂时不参与负载
  • weight:默认为1.weight越大 , 负载的权重就越大 。
  • backup: 其它所有的非backup机器down或者忙的时候 , 请求backup机器 。
max_conns
可以根据服务的好坏来设置最大连接数 , 防止挂掉 , 比如1000 , 我们可以设置800
upstream httpds {
server 127.0.0.1:8050 weight=5 max_conns=800;
server 127.0.0.1:8060 weight=1;
}
max_fails、 fail_timeout
max_fails:失败多少次 认为主机已挂掉则 , 踢出 , 公司资源少的话一般设置2~3次 , 多的话设置1次
max_fails=3 fail_timeout=30s代表在30秒内请求某一应用失败3次 , 认为该应用宕机 , 后等待30秒 , 这期间内不会再把新请求发送到宕机应用 , 而是直接发到正常的那一台 , 时间到后再有请求进来继续尝试连接宕机应用且仅尝试1次 , 如果还是失败 , 则继续等待30秒...以此循环 , 直到恢复 。
upstream httpds {
server 127.0.0.1:8050 weight=1 max_fails=1 fail_timeout=20;
server 127.0.0.1:8060 weight=1;
}
负载均衡算法
轮询、 weight、 ip_hash、 url_hash、 least_conn、 least_time
健康检查模块
配置一个status的location
location /status {
check_status;
}
在upstream配置如下
check interval=3000 rise=2 fall=5 timeout=1000 type=http;
check_http_send "HEAD / HTTP/1.0rnrn";
check_http_expect_alive http_2xx http_3xx;




推荐阅读