原文地址:http://zhumeng8337797.blog.163.com/blog/static/1007689142011101293957929/
nginx + keepalive
2011-11-12 21:39:57| 分类: nginx |举报|字号 订阅
nginx
nginx + keepalive - zhuzhu - 五事九思 (大连Linux主机维护)
一、拓扑环境:
主nginx负载均衡器 192.168.166.203
辅nginx负载均衡器 192.168.166.177
VIP地址 192.168.166.178
http://www.keepalived.org/download.html
tar -zxvf keepalived-1.2.1.tar.gz
cd keepalived-1.2.1
./configure --prefix=/usr/local/keepalived --sysconf=/etc
make && make install
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
cp /usr/local/keepalived/sbin/keepalived /bin/
chkconfig --add keepalived
chmod 755 /etc/init.d/keepalived
chkconfig keepalived on
service keepalived start
二.修改配置文件为以下内容: [master slave]
MASTER
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
xxx@xxx.com
}
notification_email_from xxx@xxx.com
smtp_server xxx.smtp.com
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script Monitor_Nginx {
script "/root/monitor_nginx.sh"
interval 2
weight 2
}
vrrp_instance VI_1 {
state MASTER #(主机为MASTER,备用机为BACKUP)
interface eth0 #(HA监测网络接口)
virtual_router_id 61 #(主、备机的virtual_router_id必须相同)
#mcast_src_ip 192.168.166.203 #(多播的源IP,设置为本机外网IP,与VIP同一网卡)此项可不设置
priority 90 #(主、备机取不同的优先级,主机值较大,备份机值较小,值越大优先级越高)
advert_int 1 #(VRRP Multicast广播周期秒数)
authentication {
auth_type PASS #(VRRP认证方式)
auth_pass 1234 #(密码)
}
track_script {
Monitor_Nginx #(调用nginx进程检测脚本)
}
virtual_ipaddress {
192.168.166.178 #(VRRP HA虚拟地址)
}
}
###BACKUP方面只需要修改state为BACKUP , priority比MASTER稍低就OK了
三:注:monitor_nginx.sh为监控nginx进程的脚本,内容如下
#!/bin/bash
if [ "$(ps -ef | grep "nginx: master process"| grep -v grep )" == "" ]
then
/usr/local/nginx/sbin/nginx
sleep 5
if [ "$(ps -ef | grep "nginx: master process"| grep -v grep )" == "" ]
then
killall keepalived
fi
fi
#chmod +x monitor_nginx.sh
四.启动keepalived
service keepalived start
或
/usr/local/keepalived/sbin/keepalived -D -f /etc/keepalived/keepalived.conf
五.测试步骤
1. 访问VIP看是否能够正常访问后端的web
2. 停止其中一个web看是否能将访问转到另一台上
3. 停止两台nginx上任何一个nginx进程看监控进程脚本是否会自动启动nginx
4. 停止任何一台nginx上的keepalived进程看另一台是否接管vip
track_interface的意思是将Linux中你想监控的网络接口卡监控起来,当其中的一块出现故障是keepalived都将视为路由器出现故障。
这里请注意: virtual_router_id 61,同一组master/backup中,也就是如果你设置了多个VRRP,同一组这个ID必须相同,不然启动的时候主从都会把VIP给启动了
keepalived 通过发送和接收组播包中的同一个virtual_router_id 的中的成员的存活,来确定对方的不可用,一旦检测到对方的不可用,即会切换它的备份角色为主。
即:当真实机192.168.166.177上的keepalived 检测到 真实机192.168.166.203上的keepalived 不可用时,177上将使用vip:192.168.166.178对外服务并由backup角色转变为master
keepalived+nginx实现 HA与负载均衡中keepalived负责实现HA功能,控制VIP(虚拟网络地址)转移功能,nginx实现对realserver七层负载均衡功能,nginx提供代理服务和cache功能,DNS服务可以负责前段VIP的负载均衡。
nginx + keepalive - zhuzhu - 五事九思 (大连Linux主机维护)
keepalived的配置
192.168.200.1 keepalived配置
! Configuration File for keepalived
global_defs {
notification_email {
xxx@xxx.com
}
notification_email_from xxx@xxx.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_TEST_YDQ
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 61
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.200.101/24 dev eth0 label eth0:0
}
}
vrrp_instance VI_2 {
state BACKUP
interface eth0
virtual_router_id 62
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 2222
}
virtual_ipaddress {
192.168.200.102/24 dev eth0 label eth0:1
}
}
vrrp_instance VI_3 {
state BACKUP
interface eth0
virtual_router_id 63
priority 50
advert_int 1
authentication {
auth_type PASS
auth_pass 3333
}
virtual_ipaddress {
192.168.200.103/24 dev eth0 label eth0:1
}
}
分享到:
相关推荐
nginx+keepalive 主从双机热备解决方案 nginx 是一种流行的开源 Web 服务器软件,keepalive 是一种心跳检测机制,用于检测服务器的健康状态。nginx+keepalive 主从双机热备解决方案是指使用 nginx 和 keepalive ...
nginx+keepalive使用文档,已读,亲测,完整,绝对超值。。。
标题 "nginx1.9.7+keepalive1.3.2" 暗示我们要讨论的是一个特定版本的 Nginx 服务器软件,与 Keepalive 模块的结合使用。Nginx 是一款广泛使用的高性能 web 服务器和反向代理服务器,而 Keepalive 模块则是增强其...
### Nginx+Keepalive 主从双机热备与自动切换解决方案 在现代网络环境中,为了提高服务的稳定性和可用性,通常会采用负载均衡技术和高可用性集群方案。本篇将详细介绍如何通过Nginx 和 Keepalive 实现主从双机热备...
在构建高可用性网络服务时,`nginx+keepalive` 的组合是一个常用方案。Nginx 是一款高性能的 HTTP 和反向代理服务器,而 Keepalive 则是用于实现虚拟 IP (VIP) 高可用和负载均衡的工具。下面将详细介绍这两个组件...
### CentOS 7 上 LVS+Keepalived 部署详解 #### 一、环境准备与软件安装 根据提供的部分内容可以看出,本教程旨在演示如何在 CentOS 7 系统上安装配置 LVS(Linux Virtual Server)及 Keepalived 服务,以实现...
keepalive_timeout 60; tcp_nodelay on; gzip on; ``` 这些配置提高了 HTTP 请求的处理效率和压缩性能,从而提升了整体的响应速度。 5. **Upstream 配置**: ```nginx upstream tserver { server 172.18....
使用vi命令编辑nginx.conf文件,配置Nginx的基本设置,包括worker_processes、worker_connections、keepalive_timeout等。 5. 安装keepalived 使用tar zxvf命令解压keepalived-1.2.2.tar.gz文件,然后使用./...
- `keepalive_timeout 65;`: 设置长连接超时时间。 - `gzip on;`: 启用 GZIP 压缩,减少传输数据量。 - `upstream` 块中的 `weight` 参数用于调整负载分配比例。例如,配置中第二个 Tomcat 的权重为 2,这意味着...
第2点运维服务内容50分,虚拟机基础环境准备3分,移动电商JavaWeb应用发布8分,安装并设置Nginx负载均衡6分,nginx+keepalive实现高可用负载均衡6分,Cobbler网络自动安装环境6分,Ansible自动化管理实践6分,iftop...
#keepalive_timeout 75 20; include gzip.conf; upstream localhost { #ip_hash #ip_hash; server localhost:8081; server localhost:8080; } server { listen 80; server_name localhost; ...
【Nginx与Keepalive整合实现高可用负载均衡】 Nginx是一款高性能的HTTP和反向代理服务器,常用于构建高可用的Web服务系统。在本文中,我们将深入探讨如何结合Keepalive工具来实现Nginx的高可用负载均衡。 **一、...
#pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request...
keepalive_timeout 65; # 长连接超时时间,单位是秒 upstream cloudtest.com { # 定义一组代理服务器 server 127.0.0.1:8081 weight=2; # 指定后端服务器及其权重 server 127.0.0.1:8080 weight=3; } server...
Nginx/LVS/HAProxy的基于Linux的开源免费的负载均衡软件。对于大型的,需要进行高并发的网站或者对网络不太严格的场景,可以使用Nginx;对于大型的Web服务器的时候可以使用Haproxy;对性能有严格要求的时候可以使用...
在本主题中,我们将深入探讨Nginx的配置操作以及如何结合KeepAlive特性实现负载均衡。 首先,Nginx的配置主要通过修改`nginx.conf`主配置文件或其包含的各个服务器块(server blocks)来完成。配置文件的基本结构...
### Nginx+Tomcat负载均衡配置教程 #### 一、Nginx 安装与配置 **1. 下载并安装Nginx** - **下载Nginx**:前往Nginx官方网站下载适合您操作系统的最新版本。推荐下载稳定版以确保运行稳定。 - **解压文件**:将...
keepalive 64; } ``` 5. **测试与优化**: - 保存配置文件,使用`/opt/nginx/sbin/nginx -s reload`重新加载配置。 - 访问Nginx的公网IP,观察请求是否被正确地分发到不同的Tomcat实例。 - 根据实际需求,...
- `keepalive_timeout 65;` 设置了持久连接的超时时间。 - `types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream;` 控制 MIME 类型识别。 #### 三、Server 块配置...