阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Keepalived实现高可用Nginx反向代理

155次阅读
没有评论

共计 2626 个字符,预计需要花费 7 分钟才能阅读完成。

实验系统:

(1)CentOS 6.6_x86_64;

(2)共有三台主机,本实验以 ip 地址来命名主机,即 131 主机、132 主机、133 主机。

实验前提:防火墙和 selinux 都关闭,主机之间时间同步

实验软件:nginx-x86_64-1.6.2keepalived-x86_64-1.2.13

实验拓扑:

Keepalived 实现高可用 Nginx 反向代理

一、安装配置 keepalived

1. 直接使用 yum 安装,133 主机只安装 nginx:

yum -y install keepalived nginx

2. 在 131 主机上配置 keepalived:

vim /etc/keepalived/keepalived.conf
——————————————–
! Configuration File for keepalived

global_defs {// 此段配置忽略
  notification_email {
    acassen@firewall.loc
    failover@firewall.loc
    sysadmin@firewall.loc
  }
  notification_email_from Alexandre.Cassen@firewall.loc
  smtp_server 192.168.200.1
  smtp_connect_timeout 30
  router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER                  // 定义为 MASTER 主机
    interface eth0
    virtual_router_id 55 // 虚拟 id
    priority 100 // 优先级
advert_int 1                    // 检测间隔
    authentication {
        auth_type PASS          // 认证方式
        auth_pass abcd          // 认证密码
    }
    virtual_ipaddress {
        192.168.245.150          // 虚拟 ip,即 VIP
 }

    notify_master “/etc/init.d/nginx start”    // 成为 MASTER 之后执行的动作
    notify_backup “/etc/init.d/nginx stop”      // 成为 BACKUP 之后执行的动作
    notify_fault “/etc/init.d/nginx stop”      //FAULT 之后执行的动作
}

3. 将配置文件传到 132 主机,并配置:

vim /etc/keepalived/keepalived.conf

————————————————– 只改动如下两行

state BACKUP        // 定义为 BACKUP

priority 99          // 优先级

4. 两台主机启动 keepalived 服务,现在 131 这台主机为 MASTER,所以服务都起在这台主机上:

service keepalived start

ip addr show

Keepalived 实现高可用 Nginx 反向代理

Keepalived 实现高可用 Nginx 反向代理

5. 停止 131 主机的 keepalived 服务,可以看到服务已经转移到了 132 这台主机上:

service keepalived stop

Keepalived 实现高可用 Nginx 反向代理

6. 再次启动 131 主机的 keepalived 服务,从日志可以看出,它又成为了 MASTER:

Keepalived 实现高可用 Nginx 反向代理

二、配置 nginx 的反向代理

1.131 和 132 主机配置 nginx:

vim /etc/nginx/conf.d/default.conf
———————————————-
location / {// 增加此段
        proxy_pass http://192.168.245.133;
}

#location / {// 将此段注释掉
    #    root  /usr/share/nginx/html;
    #    index  index.html index.htm;
    #    example
    #ModSecurityEnabled on;
    #ModSecurityConfig /etc/nginx/modsecurity.conf;
#}
———————————————-
service nginx restart
service keepalived restart

2.133 主机启动测试页:

rm -rf /usr/share/nginx/html/*                // 删除原有页面文件
vim /usr/share/nginx/html/index.html
———————————————
<h1>This is a test!</h1>
———————————————
service nginx start

访问 http://192.168.245.150,133 主机上的页面文件出现,反向代理成功。关闭 131 主机的 keepalived 服务,132 主机变为 MASTER,页面仍然可以访问。但是,当 nginx 进程被 kill 掉时,并不能实现高可用。

Keepalived 实现高可用 Nginx 反向代理

至此,实验演示完毕,谢谢!如有问题,请与我联系。

Nginx 实现反向代理和负载均衡的配置及优化  http://www.linuxidc.com/Linux/2013-11/92909.htm

RHEL6.4 搭建 Nginx 反向代理服务器  http://www.linuxidc.com/Linux/2014-05/102219.htm

Nginx 反向代理搭建配置及搭建过程一些思考  http://www.linuxidc.com/Linux/2015-01/111702.htm

使用 Nginx 搭建 WEB 服务器 http://www.linuxidc.com/Linux/2013-09/89768.htm

搭建基于 Linux6.3+Nginx1.2+PHP5+MySQL5.5 的 Web 服务器全过程 http://www.linuxidc.com/Linux/2013-09/89692.htm

Nginx 的详细介绍 :请点这里
Nginx 的下载地址 :请点这里

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计2626字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中