Nginx集群搭建

Nginx集群搭建

1.环境(个人环境):

	1. 两台linux环境
	2. nginx环境
	3. tomcat环境
	4. keepalived

2.好处

	1. 解决单点故障问题
	2. 提高并发量

3.搭建nginx集群

  1. 先在两台linux上先安装好nginx和keepalived这两个软件
	1. 安装nginx可以去看 https://blog.csdn.net/YangH000001/article/details/120794532?spm=1001.2014.3001.5501 这篇博客,上面讲了怎么安装ngxin。
	2. 安装keepalived软件
		2.1 先去keepalived官网先去下载这个软件安装包https://www.keepalived.org/download.html 我这里使用的是Version 2.0.20的版本,并且上传linux上的opt目录下并解压。
		2.2 然后进入keepalived目录下,执行 configure 脚本文件 
				./configure --sysconf=/etc --prefix=/usr/local
		2.3 然后在执行make && make install 命令 		

在这里插入图片描述
在这里插入图片描述
2. 执行完上面的命令,进入到etc目录下就会产生一个keepalived文件夹,在keepalived文件夹下有一个keepalived.conf配置文件,这个所有的配置都需要在这个里面进行配置。
3. 在/usr/local/sbin目录下有一个keepalived的脚本文件
在这里插入图片描述
在这里插入图片描述
到目前为止,这个keepalived的软件就安装好了,看keepalived.conf配置文件。
4. 在两台linux虚拟机上分别安装好keepalived和nginx软件,在这两个keepalived软件中会有一个是MASTER主服务和一个BAKCUP从服务,当主服务出现问题宕机了的时候,从服务就会马上顶上去,变成主服务,并且可以设置配置文件发送邮件给运维人员来维护,在这两个keepalived中都会设置同一个虚拟IP,这个虚拟的IP提供用户去进行访问。

! Configuration File for keepalived

global_defs {
   notification_email {
   #邮件通知,当keepalived发送切换时可以发送email给具体的邮箱地址
     zhangsan@qq.com
   }
   notification_email_from zhaomin@qq.com #设置发件人的邮箱信息
   smtp_server 192.168.26.133 # 指定smpt服务地址
   smtp_connect_timeout 30 # 设置连接超时时间
   router_id LVS1 # 取一个id名
   vrrp_skip_check_adv_addr
  # vrrp_strict 
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state BACKUP
    interface ens33 #网关名
    virtual_router_id 51 # id,在这两台keepalived集群中,这个两个值需要是一样的 
    priority 100 # 这个设置的是权重值,当多个keepalived搭建的时候,BAKCUP根据这个值来决定谁来当MASTER
    advert_int 1 
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.26.222 # 这个是虚拟IP地址,提供用户访问的,可以配置多个
    }
}

! Configuration File for keepalived

global_defs {
   notification_email {
     sysadmin@qq.com
   }
   notification_email_from Alexandre.Cassen@qq.com
   smtp_server 192.168.26.132
   smtp_connect_timeout 30
   router_id LVS
   vrrp_skip_check_adv_addr
  # vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.26.222
    }
}

这里需要注意的是 vrrp_strict 上面这个key ,这个代表的是可以执行一段脚本文件,如果不添加下面这个配置脚本文件需要把这一行注释掉,否则会有问题。

下面的执行脚本可以解决:如果Nginx出现异常了,仅仅keepalived保持正常,是无法完成系统的正常工作的,因此需要根据业务进程的运行状态决定是否需要进行主备切换,可以通过编写脚本对业务进程进行检测监控。
# 可以创建一个这样的配置文件,并且在 vrrp_strict 中指定对应下面这个配置文件的地址
um=`ps -C nginx --no-header | wc -l`
if [ $num -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 
vrrp_strict 脚本名称
{
script "脚本位置"
interval 3 #执行时间间隔
weight -20 #动态调整vrrp_instance的优先级
}
  1. 最后去/usr/local/sbin目录下执行 ./keepalived 命令启动keepalived,记得关闭linux防火墙。
  2. 最后把nginx和keepalived都启动来后,可以去访问这个上面的配置的那个虚拟IP地址,然后看是否能访问成功,转到nginx下html默认的那个index.html文件。
  3. 到现在为止,可以能发现访问不了,这里就需要在linux执行命令 setenforce 0 ,这样就可以访问成功了。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值