要想生活过的好,就要学习学到老。。。
最近学习了Nginx HA,跟大家分享下。感谢在学习中为我解决困难的--凌杰。
言归正传,先上原理图

通过keepalived提供的VRRP,以及心跳监测技术实现两台主机的双击热备功能。
实验环境:
系统:RHEL6.1
Nginx:nginx-1.0.8      ()
Pcre: Pcre-8.13              ()
Google-perftools:google-perftools-1.7   ()
Keepalived:      keepalived-1.2.2   ()
安装过程:
Nginx安装:
1. 安装PCRE(正则匹配)模块
tar -zxvf pcre-8.13.tar.gz
cd pcre-8.13
./configure
make && make install
2. 安装google-perftool(google高性能内存操作模块)
tar -zxvf nginx-1.0.8.tar.gz –C /tmp
cd nginx-1.0.8
./configure
make && make install
3.安装nginx
tar zxvf nginx-1.0.8.tar.gz
cd nginx-1.0.8
./configure  --user=nobody --group=nobody    #指定运行nginx的用户  
--prefix=/usr/local/nginx \                                    #指定安装位置
--with-http_stub_status_module \                     #nginx状态监控模块
--with-http_ssl_module \                                    #https 支持模块
--with-http_flv_module \                                     #流媒体支持模块
--with-http_gzip_static_module \                     #gzip支持模块
--with-google_perftools_module                    #goole-perftools支持模块
 make && make install
keepalived安装
1. 安装Keepalived
tar -zxvf keepalived-1.2.2.tar.gz
cd keepalived-1.2.2
./configure --prefix=/usr/local/keepalived
make && make install
2. 配置Keepalived
编辑keepalived主配置文件/etc/keepalived/keepalived.conf,如下:
global_defs { #全局配置
notification_email { #邮件通知
linuxidc@
}
notification_email_from nginx@
smtp_server 127.0.0.1
smtp_connect_timemout 30
router_id nginx. #router_id 配置(主从必须一致,也可以默认不改)
}
vrrp_script check_run { #nginx监控脚本配置
script"/home/check_nginx.sh" #脚本位置
weight -5 #优先级-5
interval 5 #检查5次
}
vrrp_instance VI_1 { #监控实例配置
state MASTER #标记状态为主
interface eth0 #监听网卡
virtual_router_id 60 #实例router_id
