nginx配置高可用集群和nginx原理

nginx配置高可用集群

nginx在运行过程中可能会宕机,所有需要配置nginx集群,解决nginx宕机的问题。

在这里插入图片描述
在这里插入图片描述

高可用的配置的准备工作

在这里插入图片描述

安装keepalived

yum install keepalived -y

在这里插入图片描述

使用命令行安装之后,在etc里面会生成一个目录keepalived,由它的配置文件keepalived.conf

高可用的配置
修改keepalived.conf
global_defs {
   notification_email {
   acassen@firewall.loc
   failover@firewall.loc
   sysadmin@firewall.loc
 }

   notification_email_from Alexandre.Cassen@firewall.loc        #定义利用什么邮箱发送邮件
   smtp_server smtp.163.com     #定义邮件服务器信息
   smtp_connect_timeout 30      #定义邮件发送超时时间
   router_id 192.168.200.131    #(重点参数)局域网keppalived主机身份标识信息(每台唯一)
   script_user root             #添加运行健康检查脚本的用户
   enable_script_security       #添加运行健康检查脚本的组
}

vrrp_script chk_http_port {
 script "/usr/local/src/nginx_check.sh"         #表示将一个脚本信息赋值给变量check_web
 interval 2      #检测脚本执行的间隔
 weight -20      #监测失败,则相应的vrrp_instance的优先级会减少20个点
}

vrrp_instance VI_1 {
 state MASTER           #keepalived角色描述信息,备份服务器上将 MASTER 改为 BACKUP
 interface ens33        #将虚拟ip用于那块网卡
 virtual_router_id 51   #主、备机的 virtual_router_id 必须相同
 priority 100            #主、备机取不同的优先级,主机值较大,备份机值较小
 advert_int 1           #主服务器组播包发送间隔时间

authentication {        # 主备主机之间的认证表示信息
   auth_type PASS       #采用明文认证机制
   auth_pass 1111       #编写明文密码
 }
 virtual_ipaddress {
   192.168.200.199      #设置虚拟ip地址信息,此参数备节点设置和主节点相同
 }
 track_script {
    chk_http_port       #调用执行脚本
  }
}

添加检查nginx状态的脚本

vim /usr/local/src/nginx_check.sh

脚本内容

#!/bin/bash

# 传入容器名称
containerName=nginx_master
currTime=`date +"%Y-%m-%d %H:%M:%S"`

# 查看进程是否存在
exist=`docker inspect --format '{{.State.Running}}' ${containerName}`

if [ "${exist}" != "true" ]; then
		pkill keepalived	#杀死所有keepalived服务进程

		# 记录
		echo "${currTime} docker容器宕机,容器名称:${containerName}" >> /mnt/xvde1/ms_ctynyd/scripts/wbwf_monitor.log
	
fi

注意:一定要给这个脚本文件可执行权限(看到变成可执行的颜色),执行命令:chmod u+x /usr/local/src/nginx_check.sh
在这里插入图片描述

nginx原理

1、master 和worker

img

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R8IoyXJk-1638705203406)(nginx知识点.assets/image-20211110164443211.png)]

2、worker如何工作

img

3、一个 master 和多个 woker 有好处

(1)可以使用 nginx –s reload 热部署,利用 nginx 进行热部署操作

(2)每个 woker 是独立的进程,如果有其中的一个 woker 出现问题,其他 woker 独立的,

继续进行争抢,实现请求过程,不会造成服务中断

4、设置多少个 woker 合适

worker 数和服务器的 cpu 数相等是最为适宜的

5、连接数 worker_connection

第一个:发送请求,占用了 woker 的几个连接数?

答案:2 或者 4 个

img

第二个:nginx 有一个 master,有四个 woker,每个 woker 支持最大的连接数 1024,支持的

最大并发数是多少?

普通的静态访问最大并发数是: worker_connections * worker_processes /2,

而如果是 HTTP 作 为反向代理来说,最大并发数量应该是 worker_connections *worker_processes/4。

nginx其他文章:

一、nginx 的基本概念
二、nginx 的安装常用命令和配置文件
三、nginx的反向代理配置实例
四、nginx负载均衡配置实例
五、nginx动静分离配置实例
六、nginx配置高可用集群和nginx原理

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zpeien

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值