nginx+keepalived高可用的并发解决方案(两台虚拟机)
nginx+keepalived高可用的并发解决方案(两台虚拟机)
复制1.分类安装nginx并搭建tomcat集群
2.执行yum -y install libnl libnl-devel
yum install -y libnfnetlink-devel
3.上传keepalived安装包并解压,解压后安装编译
./configure --prefix=/kht/keepalived
make && make install
启动命令:systemctl start keepalived
4.查看keepalived的实时日志:tail -f /var/log/messages
4.在etc下新建keepalived目录,将安装后的/kht/keepalived目录下的
/etc/keepalived的keepalived.conf配置文件拷贝到/etc/keepalived目录下
5.将安装后的/kht/keepalived目录下的/etc/sysconfig/keepalived
拷贝到/etc/sysconfig/目录
6.执行
ln -s /kht/keepalived/sbin/keepalived /usr/local/bin/
ln -s /kht/keepalived/bin/genhash /usr/local/bin/
复制8.在/etc/keepalived目录下vim chek_nginx.sh,
为chek_nginx.sh授权必须是744不能是777,内容如下
#!/bin/bash
Ng=`ps -C nginx --no-header | wc -l`
if [ $Ng -eq 0 ];then
#nginx重启命令
/kht/tomcatcolony/nginxtomcat/sbin/nginx
sleep 2
Ng=`ps -C nginx --no-header | wc -l`
if [ $Ng -eq 0 ];then
/etc/init.d/keepalived stop
fi
fi
复制9.vim /etc/keepalived.conf(主机)
global_defs {
router_id keep127
script_user root
enable_script_security
#keep127保持与主机名一致,在/etc/hosts/最下方添加127.0.0.1 keep127
}
vrrp_script chek_nginx {
script "/etc/keepalived/chek_nginx.sh" #检测 nginx 状态的脚本路径
interval 2 # 检测时间间隔
weight -20
}
vrrp_instance VI_1 {
state MASTER #状态
interface ens33 #网卡名称
virtual_router_id 127 #与备主机一致
mcast_src_ip 192.168.2.127
priority 100 #优先级,正比
nopreempt#优先级高的设置,nopreempt解决异常恢复后再次抢占的问题
advert_int 1
#组播信息发送间隔,两个节点设置必须—样,默认为1s
authentication {
auth_type PASS
auth_pass kht #根据情况
}
track_script {
chek_nginx #监控脚本
}
virtual_ipaddress {
192.168.2.131 #VIP虚拟ip,主备一致
}
}
复制10.vim /etc/keepalived.conf(备机)
global_defs {
router_id keep130
}
vrrp_script chek_nginx {
script "/etc/keepalived/chek_nginx.sh" #检测 nginx 状态的脚本路径
interval 2 # 检测时间间隔
weight -20
}
vrrp_instance VI_1 {
state BACKUP #状态
interface ens33 #网卡名称
virtual_router_id 126 #与备主机一致
priority 90 #优先级,正比
mcast_src_ip 192.168.2.126
advert_int 1
authentication {
auth_type PASS
auth_pass kht #根据情况
}
track_script {
chek_nginx #监控脚本
}
virtual_ipaddress {
192.168.2.131 #VIP
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫