服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Nginx - nginx搭建高可用集群的实现方法

nginx搭建高可用集群的实现方法

2023-02-06 11:35呆萌很 Nginx

本文主要介绍了nginx搭建高可用集群的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Keepalived+Nginx 高可用集群(主从模式)

集群架构图

nginx搭建高可用集群的实现方法

1、准备两台装有Nginx虚拟机

2、都需安装Keepalived

?
1
yum install keepalived -y

查看是否安装成功

?
1
rpm -q -a keepalived

安装之后,在 etc 里面生成目录 keepalived,有文件 keepalived.conf  

3、完成高可用配置(主从配置)

修改/etc/keepalived/keepalivec.conf 配置文件

主服务配置:keepalivec.conf

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
global_defs {
     notification_email {
         acassen@firewall.loc
         failover@firewall.loc
         sysadmin@firewall.loc
     }
     notification_email_from Alexandre.Cassen@firewall.loc
     smtp_server 192.168.19.129
     smtp_connect_timeout 30
     router_id LVS_DEVEL
}
vrrp_script chk_http_port {
     script "/usr/local/src/nginx_check.sh"
     interval 2 #(检测脚本执行的间隔)
     weight 2
}
vrrp_instance VI_1 {
     state MASTER # 备份服务器上将 MASTER 改为 BACKUP
     interface ens33 //网卡
     virtual_router_id 51 # 主、备机的 virtual_router_id 必须相同
     priority 100 # 主、备机取不同的优先级,主机值较大,备份机值较小
     advert_int 1
     authentication {
         auth_type PASS
         auth_pass 1111
     }
     virtual_ipaddress {
        192.168.19.50 # VRRP H 虚拟地址(非真实物理地址)
     }
}

从服务配置:keepalivec.conf

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
global_defs {
     notification_email {
         acassen@firewall.loc
         failover@firewall.loc
         sysadmin@firewall.loc
     }
     notification_email_from Alexandre.Cassen@firewall.loc
     smtp_server 192.168.19.129
     smtp_connect_timeout 30
     router_id LVS_DEVEL
}
vrrp_script chk_http_port {
     script "/usr/local/src/nginx_check.sh"
     interval 2 #(检测脚本执行的间隔)
     weight 2
}
vrrp_instance VI_1 {
     state BACKUP # 备份服务器上将 MASTER 改为 BACKUP
     interface ens33 //网卡
     virtual_router_id 51 # 主、备机的 virtual_router_id 必须相同
     priority 90 # 主、备机取不同的优先级,主机值较大,备份机值较小
     advert_int 1
     authentication {
         auth_type PASS
         auth_pass 1111
     }
     virtual_ipaddress {
        192.168.19.50 # VRRP H 虚拟地址(非真实物理地址)
     }
}

在/usr/local/src 添加检测脚本,两台虚拟机都要添加

添加文件:nginx_check.sh

?
1
2
3
4
5
6
7
8
9
#!/bin/bash
A=`ps -C nginx –no-header |wc -l`
if [ $A -eq 0 ];then
    /usr/local/nginx/sbin/nginx
    sleep 2
    if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
        killall keepalived
    fi
fi

把两台服务器上 nginx 和 keepalived 启动 重新启动 nginx 启动 keepalived:

?
1
systemctl start keepalived.service

检验keepalived是否启动成功

?
1
ps -ef | grep keepalived

最终测试 在浏览器地址栏输入 虚拟 ip 地址 192.168.17.50访问

nginx搭建高可用集群的实现方法

在master 输入 ip a 可以查看到

nginx搭建高可用集群的实现方法

 停止主服务器仍可以访问从服务器

?
1
2
systemctl stop keepalived.service
docker stop mynginx

至此实现nginx高可用集群。更多相关nginx 高可用集群内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_29385297/article/details/127828384

延伸 · 阅读

精彩推荐
  • Nginxlnmp环境中如何为nginx开启pathinfo

    lnmp环境中如何为nginx开启pathinfo

    这篇文章主要介绍了lnmp环境中如何为nginx开启pathinfo的方法,操作很简单,需要的朋友可以参考下 ...

    hebedich4772019-10-25
  • Nginxnginx url自动加斜杠及301重定向的问题

    nginx url自动加斜杠及301重定向的问题

    这篇文章主要介绍了nginx url自动加斜杠及301重定向的问题的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下 ...

    un12311952019-11-14
  • Nginx利用Nginx反向代理解决跨域问题详解

    利用Nginx反向代理解决跨域问题详解

    这篇文章主要介绍了利用Nginx反向代理解决跨域问题详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...

    suan_suan2432020-01-03
  • Nginx详解Nginx如何配置继承模型

    详解Nginx如何配置继承模型

    这篇文章主要介绍了详解Nginx如何配置继承模型,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...

    梦想_行人2242019-12-25
  • NginxNginx if语句加正则表达式实现字符串截断

    Nginx if语句加正则表达式实现字符串截断

    这篇文章主要介绍了Nginx if语句加正则表达式实现字符串截断功能,特殊场合下可能会需要这个功能,NGINX的奇淫技巧之一,需要的朋友可以参考下 ...

    Nginx教程网11092019-10-26
  • NginxNginx定时切割日志实现详解

    Nginx定时切割日志实现详解

    这篇文章主要介绍了Nginx定时切割日志详解,Nginx日志默认情况下写入到一个文件中,为了区分各个域下的日志,我们一般会分开存储。即时这样,文件也会...

    小柒3732019-09-20
  • NginxNginx之proxy_redirect使用详解

    Nginx之proxy_redirect使用详解

    这篇文章主要介绍了Nginx之proxy_redirect使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...

    Sun-shell5642019-12-31
  • Nginx详解nginx 配置多个tomcat共用80端口

    详解nginx 配置多个tomcat共用80端口

    本篇文章主要介绍了nginx 配置多个tomcat共用80端口,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 ...

    FYM_916152019-11-28