nginx + keepalived 实现热备负载
来源:互联网 发布:淘客cms源码带优惠券 编辑:程序博客网 时间:2024/06/07 04:06
概况:
服务器两台:
192.168.200.97(nginx+keepalived )
192.168.200.98(nginx+keepalived )
keepalived 会将vip 绑定到选举的master机器上。
master down机或者 监控的端口异常。backup机器会绑定vip 并广播arp,将vip 绑定到自己的 mac 地址上。 这就是很多人提到的 VIP 漂动。
1.安装nginx
进入官网下载: http://nginx.org/en/download.html
或者 csdn 下载 http://download.csdn.net/detail/wujiandao001/9488428
解压 tar -zxvf nginx-1.8.1.tar.gz
安装:
./configure --prefix=/usr/local/nginx
make
make install
启动:/usr/local/nginx/sbin/nginx
测试:
nginx 默认监控 80端口 提供服务 直接访问服务器iphttp://192.168.200.3/
启动成功
2.安装配置 keepalived
安装:
centOS6.5下安装 挺麻烦 参考上一节:
centOS 6.5 安装 keepalived
配置
分别在主从机器上 找到keepalived 对应的confg文件
/usr/local/keepalived/etc/keepalived/keepalived.conf
master(192.168.200.97)机器如下修改
global_defs { router_id nginxTest}vrrp_script chk_nginx_port { script "/usr/local/mybash/check_nginx.sh" interval 2 weight -30}vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.200.3/24 } track_script { chk_nginx_port }}对应的 /usr/local/mybash/check_nginx.sh nginx 监控 脚本
#!/bin/bash#checking nginxecho "---------------------------"if [ `ps -C nginx --no-header |wc -l` -eq 0 ];thenecho "nginx start failed kill keepalived"killall keepalivedfi注意:window上传的 check_nginx.sh 可能还是 dos格式 执行会报如下错误
[root@192 aaa]# ./check_nginx.sh
-bash: ./check_nginx.sh: /bin/bash^M: bad interpreter: No such file or directory
需要将shell 文件改成 unix 格式
可以 vi 编辑器里面 :set ff=unix
或者 dos2unix check_nginx.sh (需要dos2unix 包)
backup 节点(192.168.200.98)
global_defs { router_id nginxTest}vrrp_script chk_nginx_port {script "/usr/local/mybash/check_nginx.sh" #检测脚本 路径interval 2 #检测频率 2sweight -30}vrrp_instance VI_1 { state BACKUP #启动角色 interface eth0 #监听网卡 virtual_router_id 51 #虚拟路由ID 一定要跟 master 配置 保持一致 priority 90 #优先级 要比master 小 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.200.3/24 #vip }track_script {chk_nginx_port}}
BACKUP 上也需要 拷贝一份 一样的 对应的 /usr/local/mybash/check_nginx.sh nginx 监控 脚本 。
启动主备机 keepalived
/usr/local/keepalived/sbin/keepalived -D -f /usr/local/keepalived/etc/keepalived/keepalived.conf
查看日志
tail -f /var/log/messages
先简单记录下,以后再细化。
- nginx + keepalived 实现热备负载
- LVS+keepalived+nginx实现双机热备负载均衡
- LVS + keepalived + nginx + tomcat 实现主从热备 + 负载均衡
- keepalived + nginx实现高可用双机热备+负载均衡
- Nginx负载均衡+keepalived双机热备
- keepalived+nginx双机热备+负载均衡
- ] keepalived+nginx双机热备+负载均衡
- keepalived+nginx双机热备+负载均衡
- keepalived+nginx双机热备+负载均衡
- Keepalived+Nginx负载均衡双机热备
- keepalived+nginx双机热备+负载均衡
- keepalived+nginx双机热备+负载均衡
- keepalived+nginx双机热备+负载均衡
- keepalived+nginx双机热备+负载均衡
- keepalived+nginx双机热备+负载均衡
- keepalived+nginx实现高可用双机热备+负载均衡架构
- keepalived+nginx实现双机热备
- keepalived+nginx实现双机热备
- java 获取当前进程pid
- 珍爱生命,远离dota
- 代码质量优先——《编写高质量代码:改善c程序代码的125个建议》
- oracle 中sum和count的区别
- x264编码器的参数设置。
- nginx + keepalived 实现热备负载
- 一致性hash算法 —— consistent hashing
- 高性能数据中心网络的流量收敛设计
- Awesome系列之公共数据篇
- 将 Web 应用性能提高十倍的10条建议
- eclipse出现Symbol could not be resolved解决方案
- 五种js判断是否为整数类型方式
- A CHM Reader
- 总结自己用到的发布WebService1