首页 > 代码库 > keepalived+nginx-upstream部署高可用反向代理
keepalived+nginx-upstream部署高可用反向代理
实验拓扑
实验要求
- 两个web server提供httpd服务,ip地址分别是172.18.27.201、202,掩码是16
- 两个nginx proxy提供高可用反向代理,ip地址分别是172.18.27.102、200,掩码是16.
- client能够访问web server,使用dr模型反向代理。
实验步骤
- 各主机安装软件
##web server安装httpd yum install -y httpd ##nginx proxy安装nginx和keeplived. yum install -y keepalived nginx
- 配置web server
##两台web server配置,两台都为centos7.2 #RS1配置 vim /var/www/html/index.html <h1/>RS1:172.18.27.201</h1> #RS2配置 vim /var/www/html/index.html <h1/>RS2:172.18.27.202</h1> #RS1和RS2启动httpd服务 systemct start httpd
- 配置nginx proxy
##配置nginx proxy服务器 #配置nginx upstream vim /etc/nginx/nginx.conf http { ..... upstream httpdserver{ server 172.18.27.201:80 weight=2; server 172.18.27.202:80 weight=1; server 127.0.0.1:8080 backup; } } #配置keeplived vim /etc/keepalived/keepalived.conf global_defs { vrrp_mcast_group4 224.100.27.1 } vrrp_script chk_down { script "[[ -f /etc/keepalived/down ]] && exit 1 || exit 0" interval 1 weight -5 } vrrp_script chk_nginx { script "killall -0 nginx && exit 0 || exit 1" interval 1 weight -5 fall 2 rise 1 } vrrp_instance VI_1 { state MASTER interface eth1 virtual_router_id 51 priority 100 advert_int 1 nopreempt authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 172.18.27.254/16 dev eth1 label eth1:0 } track_script { chk_down chk_nginx } track_interface{ eth1 } } #启动服务 service nginx start service keepalived start
配置另一台nginx proxy
#配置nginx upstream vim /etc/nginx/nginx.conf http { ..... upstream httpdserver{ server 172.18.27.201:80 weight=2; server 172.18.27.202:80 weight=1; server 127.0.0.1:8080 backup; } } #配置keeplived vim /etc/keepalived/keepalived.conf global_defs { vrrp_mcast_group4 224.100.27.1 } vrrp_script chk_down { script "[[ -f /etc/keepalived/down ]] && exit 1 || exit 0" interval 1 weight -5 } vrrp_script chk_nginx { script "killall -0 nginx && exit 0 || exit 1" interval 1 weight -5 fall 2 rise 1 } vrrp_instance VI_1 { state BACKUP interface eno16777736 virtual_router_id 51 priority 98 advert_int 1 nopreempt authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 172.18.27.254/16 dev een016777736 label eno16777736:0 } track_script { chk_down chk_nginx } track_interface{ eno16777736 } } #启动服务 systemctl start nginx keepalived
试验效果
正常状态
一个web server 宕机了
一个nginx proxy服务器宕机了
能够正常运行
keepalived+nginx-upstream部署高可用反向代理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。