那准备开始 1、环境准备 Nginx反向代理服务器-主: 系统 Centos 5.4 + ngix 外网IP: 60.x.x.13 内网IP: 192.168.10.13
Nginx反向代理服务器-从: 系统 Centos 5.4 + ngix ( 参考Centos下安装、Nginx笔记(一) 简单安装, Centos下安装、Nginx笔记(二) 简单负载均衡搭建好) 外网IP: 60.x.x.14 内网IP: 192.168.10.14
反向代理主服务器与反向代理从服务器 使用共同的集群(虚拟)IP: 60.x.x.15
web1服务器: 系统: windows 2003 IIS 内网 ip: 192.168.10.2
web2服务器: 系统windows 2003+IIS 内网 ip 192.168.10.3 (2/3的页面内容设置不一样以便最后测试的时候进行查看) A) 先代理主服务器操作: 安装配置Keepalived
软件源代码包存放位置:/usr/local/src 源码包编译安装位置:/usr/local/软件名字
1).下载所需要的软件 #wget http://keepalived.org/software/keepalived-1.2.7.tar.gz #wget http://rpm5.org/files/popt/popt-1.16.tar.gz
2) .安装popt 编译keepalived时需要popt,否则会报以下错误: configure: error: Popt libraries is required
#tar -zxvf popt-1.16.tar.gz #cd popt-1.16 #./configure #make #make install
3.安装keepalived #tar -zxvf keepalived-1.2.7.tar.gz #cd keepalived-1.2.7 #./configure --prefix=/usr/local/keepalived #make #make install
4.修改配置文件为以下内容:
#vim /usr/local/keepalived/etc/keepalived/keepalived.conf ------------------------------------keepalived.conf---------------------------------------- 点击(此处)折叠或打开
vi /root/scripts/monitor_nginx.sh ===================================== 点击(此处)折叠或打开
======================================= #chmod +x monitor_nginx.sh #nohup/bin/bash /root/scripts/monitor_nginx.sh &
网上看到有个兄弟写的关于运行脚本的个人想法,我就拿过来试了: 然后置于后台运行 sh /root/monitor_nginx.sh &,这种写法是错误的,这样你用root用户logout后,此进程会消失;正确写法为nohup/bin/bash /root/monitor_nginx.sh &,附带下注释:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出root帐户之后继续运行相应的进程。nohup就是不挂起的意思( no hang up)
================================================== 建立服务启动脚本,以便使用service命令控制之 方法一: 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 方法二: 1、 cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/keepalived
chmod +x /etc/init.d/keepalived
因为我们使用非默认路径(/usr/local)安装keepalived, 故需要修改几处路径,以保证keepalived能正常启动, 需要修改的文件如下:
2. 修改/etc/init.d/keepalived, 寻找大约15行左右的. /etc/sysconfig/keepalived, 修改为: . /usr/local/keepalived/etc/sysconfig/keepalived, 即指向正确的文件位置
同时在上述行下添加以下内容(将keepavlied主程序所在路径导入到环境变量PATH中):
PATH="$PATH:/usr/local/keepalived/sbin"
export PATH
3. 修改/usr/local/keepalived/etc/sysconfig/keepalived文件,设置正确的服务启动参数 KEEPALIVED_OPTIONS="-D -f /usr/local/keepalived/etc/keepalived/keepalived.conf"
4. 经过以上修改,keepalived基本安装即可完成,启动测试之: service keepalived restart
5. 切勿忘记将此服务设置为开机启动 chkconfig keepalived on ======================================================================== B) 代理从服务器操作: 除了keepalived.conf 配置有点差异,其他安装步骤参考主服务器 #vim /usr/local/keepalived/etc/keepalived/keepalived.conf ------------------------------------keepalived.conf---------------------------------------- 点击(此处)折叠或打开
C、测试环节 集群IP: 60.x.x.15 _____________|_____________ 60.x.x.13 60.x.x.14 主代理nginx 从代理nginx 192.168.10.13 192.168.10.14 ---------------|----------------- web1: 192.168.10.2 web2: 192.168.10.3 注明: 在Centos下安装、Nginx笔记(二) 简单负载均衡已经说明, 访问代理服务器http://60.x.x.13访问的是Nginx代理服务器自身的网站 访问代理服务器http://60.x.x.13:8800时实现跳转到内网2台web服务器进行负载;
看简单拓扑图,现测试内容如下: 修改主代理服务器nginx/html/index.html内容编辑为 这是60.x.x.13主服务器: 修改从代理服务器nginx/html/index.html内容编辑为 这是60.x.x.14从服务器: 修改web1服务器: index.html内容编辑为 这是web1:192.168.10.2服务器修改web2服务器: index.html内容编辑为 这是web1:192.168.10.3服务器 1. 访问VIP60.x.x.15:8800看是否能够正常访问后端的web1/web2 访问VIP60.x.x.15看是否能够正常访问nginx服务器的web 2. 停止其中一个web看是否能将访问转到另一台上 3. 停止两台nginx上任何一个nginx进程看监控进程脚本是否会自动启动nginx 4. 停止任何一台nginx上的keepalived进程看另一台是否接管vip60.x.x.15 (责任编辑:IT) |