Nginx调度器(反向代理)配置

nginx反向代理


优点:负载均衡,预防单点故障。

实验环境:
首先搭建两个web网站,为看效果,故设置内容不一样。

设置调度器:

1.修改配置文件
upstream webserver {
server 192.168.2.100:80;
server 192.168.2.200:80
}
.. ..
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://webserver; 【收到请求后转发给上面定义的集群】
root html;
index home.php index.html index.htm;

}

upstream 定义集群。
webserver 为集群命名。

2.刷新nginx服务
# /usr/local/nginx/sbin/nginx -s reload

3.客户端进行测试
curl http://192.168.4.5


因,调度默认轮询算法,故可通过设置属性进行合理分配。

配置服务器集群属性

1.设置失败次数,超时时间,权重


http {
.. ..
upstream webserver {
server 192.168.2.100 weight=1 max_fails=1 fail_timeout=10;
server 192.168.2.200 weight=2 max_fails=2 fail_timeout=10;
}
//weight设置服务器权重值
//max_fails设置最大失败次数
//fail_timeout设置失败超时时间,单位为秒
.. ..


2.重启nginx服务
# /usr/local/nginx/sbin/nginx -s reload

3.关闭一台后端服务器(web1)
# systemctl stop httpd

4.客户端使用浏览器访问代理服务器测试
# curl http://192.168.4.5 //使用该命令多次访问查看效果

5.再次启动后端服务器的httpd(web1)
# systemctl start httpd

6.客户端再次使用浏览器访问代理服务器测试
# curl http://192.168.4.5 //使用该命令多次访问查看效果




特殊情况:【若机器维修时间过长,可设置不再询问该机器:可用 # 或 down 】
server 192.168.2.100 weight=1 max_fails=1 fail_timeout=10 down;
# server 192.168.2.100 weight=1 max_fails=1 fail_timeout=10 ;


1.设置相同客户端访问相同web服务器:【避免客户在当前页面作业时刷新,页面返回不一致】


http {
.. ..
upstream webserver {
ip_hash; 【设置记录ip】
server 192.168.2.100 weight=1 max_fails=1 fail_timeout=10;
server 192.168.2.200 weight=2 max_fails=2 fail_timeout=10;
}


2.重启nginx服务

# /usr/local/nginx/sbin/nginx -s reload


3.测试
# curl http://192.168.4.5 //使用该命令多次访问查看效果

猜你喜欢

转载自blog.csdn.net/drem_of_it/article/details/80341645