呃,我本地虚拟机测试过了
nginx版本:1.7.9
操作系统:centos 7.1
相同点:
nginx自带的upstream ,nginx_tcp_proxy_module模块都可实现多后端web节点负载均衡、宕机清出集群、故障恢复加入负载功能。
不同点:
1、nginx_tcp_proxy_module只能监控请求是否响应,对响应内容无法判读,502之类的错误无法实现宕机清理;而nginx自带upstream就可以;
2、nginx_tcp_proxy_module有个监控页面,而nginx自带upstream没有;
nginx自带upstream配置示例
[Bash shell] 纯文本查看 复制代码 #nginx.conf
upstream lg_test {
server 192.168.0.17:80 weight=1 max_fails=2 fail_timeout=3;
server 192.168.0.18:80 weight=1 max_fails=2 fail_timeout=3;
}
#server
location / {
#开启对http 1.1支持
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
proxy_pass http://lg_test;
}
nginx_tcp_proxy_module配置示例
[Bash shell] 纯文本查看 复制代码 #nginx.conf
tcp {
upstream lg_test {
server 192.168.0.17:80;
server 192.168.0.18:80;
check interval=500 rise=2 fall=5 timeout=1000;
check_http_send "GET / HTTP/1.0\r\n\r\n";
check_http_expect_alive http_2xx http_3xx;
}
#server
server{
listen 80;
server_name 1.test.cn;
proxy_pass lg_test;
} |