nginx的负载均衡与反向代理(调用服务器)
Ubuntu系统安装nginx的依赖库如下:
apt-get install libpcre3 libpcre3-dev
apt-get install zlib1g-dev
apt-get install make
apt-get install openssl openssl-dev
apt-get install openssl libssl-dev
Nginx除了可以作为web服务器,还可以作为代理服务器(反~~向代理)就像生活找房子的中介,律师,代孕一样
需要两块网卡,自带健康检查的功能
架构:
1 后端web服务器两台,可以使用httpd实现
2 Nginx采用轮询调用后端web服务器
3 两台web服务器的权重要求设置不同
4 最大失败次数为1,失败超时时间为30秒
客户端eth0 192.168.4.10
Nginx代理 eth0 192.168.4.5
eth1 192.168.2.5
web1 eth1 192.168.2.100
web2 eth1 192.168.2.200
--web1
eth0 ------ Nginx反向代理(调度器) ------
--web2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
调度器(轮询算法)
健康检查
Nginx192.168.4.5这台服务器有两个网卡,它可以ping通4.0网段,又可以ping通2.0,可以把客户端的请求集中起来为一个服务器集群地址池,然后为客户做事
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
实验步骤
1部署后端web服务器
yum -y install httpd
echo "192.168.2.100" >/var/www/html/index.html/
systemctl restart httpd
另一个同上
2配置文件
a.在server上面加入定义集群: upstream 集群名称webserver {
server IP地址:80;
server IP地址:80;
}
b.location / {
proxy_pass http://webserver; 通过转发调用集群
root html 自己的名称
3.重新加载配置文件nginx.conf使配置生效
4.在客户端去测试页面,是否依次轮询出现
curl 192.168.4.5
再点一次:nginx默认权重为1
再点一次
服务器集群地址池的一些参数设置:
weight 设置服务器权重值,默认值为1 也可以是数值大一点的其他值
max_fails设置最大失败次数
fail_timeout设置失败超时时间,单位为秒
down 标记服务器已关机,不参与集群调度
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
额外:
相同客户端访问相同服务器
MD5sum 哈希算法
调度算法 IP_HASH算法
在地址池里面指定集群地址之前指定调度算法ip_hash