使用nginx实现Web反向代理功能,实现如下功能:
1. 后端Web服务器两台,可以使用httpd实现
2. nginx采用轮询的方式调用后端web服务器
3. 两台web服务器的权重要求设置为不同的值
4. 最大失败次数为2,失败超时时间30秒
work | NAT | 29. 156 | \ | \ | 使用浏览器 | yw006 | 反向代理 |
tpl01 | NAT + NAT(wmnet5) | 29. 150 + (172.16.93.128) | nginx(源码) | /usr/local/nginx/conf/nginx_yw006.conf | 提供反向代理服务 | yw006 | |
tpl02 | NAT(wmnet5) | 172.16.93.131 | httpd(yum) | \ | 提供web服务 | yw006 | |
tpl03 | NAT(wmnet5) | 172.16.93.130 | httpd(yum) | \ | 提供web服务 | yw006 |
步骤一: 配置nginx服务器,添加服务器池,实现反向代理功能
1. 修改/etc/local/nginx/conf/nginx.conf (tpl01)
....http {
....
upstream webserver {
server 172.16.93.131 weight=2 max_fails=2 fail_timeout=10; #tpl02
server 172.16.93.130 weight=1 max_fails=2 fail_timeout=10; #tpl03
}
....
server {
listen 80;
server_name web.liang.com;
location /{
proxy_pass http://webserver;
}
}
2. 重启nginx服务
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx
步骤二: 部署实施后端Web服务器 (tpl02 tpl03)
yum -y install httpd
echo "tpl03" > /var/www/html/index.html
步骤三:
1.修改客户端hosts 文件 (work)
vim /etc/hosts
192.168.29.150 web.liang.com
2. 使用浏览器访问代理服务器 测试轮询效果
curl http://web.liang.com
理论基础:
nginx 支持的4种分配方式
-轮询(默认的) 逐一循环调度
-Weight 指定循环几率,权重值和访问比率成正比
-ip_hash : 根据客户端IP分配固定的后端服务器
-Fair: 按后端服务器响应时间短的优先分配
服务器状态类型
-down : 表示当前server暂时不参与负载
-max_fails: 允许请求失败的次数(默认为1)
-fail_timeout: max_fails次失败后,暂时提供服务的时间
-backup: 备份服务器