nginx高可用集群的实现过程
这篇文章主要介绍了nginx高可用集群的实现过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
1、配置:
(1)需要两台nginx服务器(2)需要keepalived(3)需要虚拟ip
2、配置高可用的准备工作
(1)需要两台服务器192.168.180.113和192.168.180.112(2)在两台服务器安装nginx(3)在两台服务器安装keepalived
3、在两台服务器安装keepalived
(1)使用yum命令进行安装
(2)安装之后,在etc里面生成目录keepalived,有文件keepalived.conf
[root@topcheerdev]#yuminstallkeepalived-y 已加载插件:fastestmirror,langpacks Loadingmirrorspeedsfromcachedhostfile *base:mirrors.cn99.com *epel:ftp.riken.jp *extras:mirrors.cn99.com *updates:mirror.lzu.edu.cn gitlab_gitlab-ce/x86_64/signature|836B00:00:00 gitlab_gitlab-ce/x86_64/signature|1.0kB00:00:00!!! gitlab_gitlab-ce-source/signature|836B00:00:00 gitlab_gitlab-ce-source/signature|951B00:00:00!!! 正在解决依赖关系 -->正在检查事务 --->软件包keepalived.x86_64.0.1.3.5-16.el7将被安装 -->正在处理依赖关系libnetsnmpmibs.so.31()(64bit),它被软件包keepalived-1.3.5-16.el7.x86_64需要 -->正在处理依赖关系libnetsnmpagent.so.31()(64bit),它被软件包keepalived-1.3.5-16.el7.x86_64需要 -->正在检查事务 --->软件包net-snmp-agent-libs.x86_64.1.5.7.2-43.el7将被安装 -->解决依赖关系完成 依赖关系解决 ========================================================================================================================================== Package架构版本源大小 ========================================================================================================================================== 正在安装: keepalivedx86_641.3.5-16.el7base331k 为依赖而安装: net-snmp-agent-libsx86_641:5.7.2-43.el7base706k 事务概要 ========================================================================================================================================== 安装1软件包(+1依赖软件包) 总下载量:1.0M 安装大小:3.0M Downloadingpackages: (1/2):net-snmp-agent-libs-5.7.2-43.el7.x86_64.rpm|706kB00:00:00 (2/2):keepalived-1.3.5-16.el7.x86_64.rpm|331kB00:00:00 ------------------------------------------------------------------------------------------------------------------------------------------ 总计1.8MB/s|1.0MB00:00:00 Runningtransactioncheck Runningtransactiontest Transactiontestsucceeded Runningtransaction 正在安装:1:net-snmp-agent-libs-5.7.2-43.el7.x86_641/2 正在安装:keepalived-1.3.5-16.el7.x86_642/2 验证中:keepalived-1.3.5-16.el7.x86_641/2 验证中:1:net-snmp-agent-libs-5.7.2-43.el7.x86_642/2 已安装: keepalived.x86_640:1.3.5-16.el7 作为依赖被安装: net-snmp-agent-libs.x86_641:5.7.2-43.el7 完毕!
4、修改配置文件
2台都要换,一个主机,一个从机
[root@topcheerkeepalived]#catkeepalived.conf global_defs{ notification_email{ acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_fromAlexandre.Cassen@firewall.loc smtp_server192.168.180.113 smtp_connect_timeout30 router_idLVS_DEVEL } vrrp_scriptchk_http_port{ script"/usr/local/src/nginx_check.sh" interval2#(检测脚本执行的间隔) weight2 } vrrp_instanceVI_1{ stateBACKUP#备份服务器上将MASTER改为BACKUP interfaceens33//网卡 virtual_router_id51#主、备机的virtual_router_id必须相同 priority40#主、备机取不同的优先级,主机值较大,备份机值较小 advert_int1 authentication{ auth_typePASS auth_pass1111 } virtual_ipaddress{ 192.168.180.114//VRRPH虚拟地址 } }
脚本:
[root@topcheersrc]#catnginx_check.sh #!/bin/bash A=`ps-Cnginx▒Cno-header|wc-l` if[$A-eq0];then /usr/local/nginx/sbin/nginx sleep2 if[`ps-Cnginx--no-header|wc-l`-eq0];then killallkeepalived fi fi[root@topcheersrc]#
把两台服务器上nginx和keepalived启动
启动nginx:./nginx由于我112上安装了gitlab自带nginx,就不要启动了启动keepalived:systemctlstartkeepalived.service
5、测试
把113的nginx和keepalived关掉,发现会切换到112上
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。