调度器调度后端服务器 : web高可用 负载均衡 解决web单点故障
部署后端服务器---配置Nginx服务器(定义集群、请求转发)---起服务、测试----配置集群池属性(权重、失败次数、失败超时时间)----配置集群的调度算法(ip_hash)
部署后端Web服务器:
[root@web1 ~]# yum -y install httpd //web1
[root@web1 ~]# echo "192.168.2.100" > /var/www/html/index.html
[root@web1 ~]# systemctl restart httpd
[root@web1 ~]# firewall-cmd --set-default-zone=trusted
[root@web1 ~]# setenforce 0
[root@web2 ~]# yum -y install httpd //web2
[root@web2 ~]# echo "192.168.2.200" > /var/www/html/index.html
[root@web2 ~]# systemctl restart httpd
[root@web2 ~]# firewall-cmd --set-default-zone=trusted
[root@web2 ~]# setenforce 0
配置Nginx服务器:
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
.. ..
http {
.. ..
upstream webserver { //upstream定义集群,webserver为集群名称,自己任意定义
server 192.168.2.100:80; //server定义集群中的具体服务器和端口
server 192.168.2.200:80;
}
.. ..
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://webserver; #通过proxy_pass将用户的请求转发给webserver集群
}
}
起服务、验证:
[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload
[root@client ~]# curl http://192.168.4.5 //使用该命令多次访问查看效果
[root@client ~]# curl http://192.168.4.5 //使用该命令多次访问查看效果
配置集群池属性:
weight设置后台服务器的权重(默认1),max_fails设置后台服务器的失败次数,fail_timeout设置后台服务器的失败超时时间,单位为秒。
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
.. ..
http {
.. ..
upstream webserver {
server 192.168.2.100 weight=1 max_fails=1 fail_timeout=30;
server 192.168.2.200 weight=2 max_fails=2 fail_timeout=30;
server 192.168.2.101 down; //标记为关机,不再参与集群调度
}
.. ..
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://webserver;
}
}
起服务、验证:
[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload
[root@web1 ~]# systemctl stop httpd
[root@client ~]# curl http://192.168.4.5 //使用该命令多次访问查看效果
[root@web1 ~]# systemctl start httpd
[root@client ~]# curl http://192.168.4.5 //使用该命令多次访问查看效果
配置集群的调度算法:
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
.. ..
http {
.. ..
upstream webserver {
ip_hash; //通过ip_hash设置调度规则为:相同客户端访问相同服务器
server 192.168.2.100 weight=1 max_fails=2 fail_timeout=10;
server 192.168.2.200 weight=2 max_fails=2 fail_timeout=10;
}
.. ..
server {
listen 80;
server_name www.tarena.com;
location / {
proxy_pass http://webserver;
}
}
起服务、验证:
[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload
[root@client ~]# curl http://192.168.4.5 //使用该命令多次访问查看效果
手机扫一扫
移动阅读更方便
你可能感兴趣的文章