keepalived+nginx-upstream部署高可用反向代理

实验拓扑

实验要求

  1. 两个web server提供httpd服务,ip地址分别是172.18.27.201、202,掩码是16
  2. 两个nginx proxy提供高可用反向代理,ip地址分别是172.18.27.102、200,掩码是16.
  3. client能够访问web server,使用dr模型反向代理。

实验步骤

    1. 各主机安装软件

      ##web server安装httpd
      yum install -y httpd
      ##nginx proxy安装nginx和keeplived.
      yum install -y keepalived nginx
    2. 配置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
    3. 配置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服务器宕机了



      能够正常运行

时间: 2024-10-09 16:57:59

keepalived+nginx-upstream部署高可用反向代理的相关文章

Nginx高可用反向代理搭建

Nginx高可用反向代理搭建 Nginx简介 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日.其将源代码以类BSD许可证的形式发布,因它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名. Nginx 可以在大多数 Unix like O

Keepalived+Nginx+Tomcat 实现高可用Web集群(转)

Keepalived+Nginx+Tomcat 实现高可用Web集群 溯水心生 关注 2018.01.08 20:28* 字数 1382 阅读 965评论 1喜欢 9 集群规划图片 一.Nginx的安装过程 1.下载Nginx安装包,安装依赖环境包 (1)安装 C++编译环境 yum -y install gcc #C++ (2)安装pcre yum -y install pcre-devel (3)安装zlib yum -y install zlib-devel (4)安装Nginx 定位到n

基于keepalived实现高可用反向代理的nginx

实验用主机: node1:172.16.103.2 安装有keepalived.nginx node2:172.16.103.3 安装有keepalived.nginx 实验目的:两台主机上运行的keepalived,当其中某节点故障时,另一节点会自动启动nginx并将nginx使用的VIP地址配置到本机上,以达到nginx高可用的效果. 实验步骤: 一.在node1和node2上安装keepalived和nginx: # yum -y install keepalived nginx 二.配置

keepalived高可用反向代理的nginx

实验系统: (1)CentOS 6.6_x86_64: (2)共有三台主机,本实验以ip地址来命名主机,即131主机.132主机.133主机. 实验前提:防火墙和selinux都关闭,主机之间时间同步 实验软件:nginx-x86_64-1.6.2 keepalived-x86_64-1.2.13 实验拓扑: 一.安装配置keepalived 1.直接使用yum安装,133主机只安装nginx: yum -y install keepalived nginx 2.在131主机上配置keepali

keepalived高可用反向代理的nginx-实例

拓扑结构: 环境准备: Centos6.5x86_64 关闭防火墙和Selinux VIP:192.168.1.200/24 node5: eth0:192.168.1.190/24 node1:eth1:192.168.1.191/24 node2:RIP:eth0: 192.168.19.2/24 node3:RIP:eth0: 192.168.19.3/24   所有节点网关/DNS都为:192.168.1.1 每个服务器的hosts文件 # cat /etc/hosts 127.0.0.

利用keepalived实现nginx调度器高可用(一)

利用keepalived实现nginx调度器高可用 声明:提供四台主机,其中两台nginx做前端调度器(一台做主调度器,一台做备用调度器), 另外两台主机做web服务器向外提供http服务: 框架如图: 1.在两台nginx上配置nginx反代服务 # vim /etc/nginx/nginx.conf 在http上下文中添加下文: upstream webser {             server 172.16.1.12:80 weight=1;             server 1

Keepalived+Haproxy双主高可用负载均衡web和mysql综合实验

日期及版本:2014.5.4v1.0 架构图 实验目的: 1.Haproxy+Keepalived双主双机高可用模型,keepalived为Haproxy主从提供高可用保证haproxy-master若挂掉haproxy-backup能无缝接管,haproxy为后端Web提供负载均衡,缓解并发压力,实现WEB站点负载均衡+高可用性: 2. Haproxy反代web做动静分离: 3. Haproxy反代mysql 算法leastconn和roundrobin的不同效果: 系统环境: OS:cent

基于keepalived对HAproxy做高可用集群

一.Keepalived简介 Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器. Layer3,4&7工作在IP/TCP协议栈的IP层,TCP层,及应用层,原理分别如下: Layer3:Keepalived使用Layer3的方式

使用keepalived实现haproxy的高可用

一.haproxy和keepalived的解释及本次实验的拓扑图: 1.haproxy:haproxy是免费.极速且可靠的用于为TCP和基于HTTP应用程序提供负载均衡和代理服务的解决方案,尤其适用于高负载且需要持久连接或7层处理机制的web站点. 2.haproxy的特性:客户端侧的长连接(client-side keep-alive):TCP加速(TCP speedups): 响应池(response buffering):RDP协议:基于源的粘性(source-based stickine