北京国都建设集团网站,网站搜索框怎么做,山西公司网站开发,的网站建设公司哪家好环境#xff1a;利用keeplived实现web服务器的双机热备(高可用)
注意#xff1a; (1) 利用keeplivedweb做双击热备#xff08;高可用#xff09;#xff0c;最少需要两台服务器#xff0c;可以实现多域名对应一个VIP,并且访问不同域名#xff0c;显示不同主页#xf…环境利用keeplived实现web服务器的双机热备(高可用)
注意 (1) 利用keeplivedweb做双击热备高可用最少需要两台服务器可以实现多域名对应一个VIP,并且访问不同域名显示不同主页可行已测 (2) vip虚拟ip不能和物理ip冲突 (3) vip虚拟ip最好设置成和内网ip同一网段最后做地址映射到公网ip (4) 两台web服务的网站内容必须相同
1、安装keepalived与负载均衡服务器在一台服务器上
keepalived使用 VRRP虚拟路由冗余协议实现单点故障切换俗称心跳线监听
yum -y install keepalived
[rootoldboy ~]# cd /etc/keepalived/
[rootoldboy keepalived]# cp keepalived.conf keepalived.conf.ori
[rootoldboy keepalived]# sed -n 1,31p keepalived.conf.ori keepalived.conf 2、配置web服务器
(1) 配置real-server-10.0.0.7nginx-web
[rootOldboy extra]# cat www.conf
server {listen 80;server_name www.etiantian.org;location / {root html/www;index index.html index.htm;}
}[rootOldboy extra]# cat bbs.conf
server {listen 80;server_name bbs.etiantian.org; location / {root html/bbs;index index.php index.html index.htm;}
}[rootOldboy extra]# cat blog.conf
server {listen 80;server_name blog.etiantian.org;location / {root html/blog;index index.html index.php;
}location ~ .*\.(php|php5)?$ {root html/blog;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;include fastcgi.conf;}
}
(2) 配置real-server-10.0.0.8 (apache-web)
[rootOldboy extra]# egrep -v #|^$ httpd-vhosts.conf NameVirtualHost *:80
VirtualHost *:80ServerAdmin oldboyoldboyedu.comDocumentRoot /application/apache2.2.31/htdocs/wwwServerName www.etiantian.orgServerAlias etiantian.orgErrorLog /app/logs/www-error_logCustomLog /app/logs/www-access_log common
/VirtualHostVirtualHost *:80ServerAdmin oldboyoldboyedu.comDocumentRoot /application/apache2.2.31/htdocs/bbsServerName bbs.etiantian.orgErrorLog /app/logs/bbs-error_logCustomLog /app/logs/bbs-access_log common
/VirtualHostVirtualHost *:80ServerAdmin oldboyoldboyedu.comDocumentRoot /application/apache2.2.31/htdocs/blogServerName blog.etiantian.orgErrorLog /app/logs/blog-error_logCustomLog /app/logs/blog-access_log common
/VirtualHost3、配置keepalivedkeepalived和负载均衡服务器在一台服务器上
(1) 配置keepalived-MASTER10.0.0.5
[rootOldboy keepalived]# cat keepalived.conf
! Configuration File for keepalivedglobal_defs {router_id LVS_DEVEL_01 \\keepalived服务器标识符最好和备keepalived不一样
}vrrp_instance VI_1 { \\VRRP实例多实例不能相同但是主备必须相同state MASTER \\指定keepalived的角色MASTER为主服务器BACKUP为备用服务器interface eth0 \\监听的接口virtual_router_id 51 \\虚拟路由标识这个标识是一个数字(1-255)在一个VRRP实例中主备服务器ID必须一样priority 150 \\优先级数字越大优先级越高在一个实例中主服务器优先级要高于备服务器advert_int 1 \\设置主备之间同步检查的时间间隔单位秒 authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {172.16.1.254/24 dev eth0 label eth0:3 \\定义虚拟ip地址}
}
(2) 配置keepalived-BACKUP10.0.0.6
[rootOldboy keepalived]# cat keepalived.conf
! Configuration File for keepalivedglobal_defs {}router_id LVS_DEVEL_02 \\keepalived服务器标识符最好和主keepalived不一样
}vrrp_instance VI_1 { \\VRRP实例和主一样state BACKUP \\指定keepalived的角色这里是备用服务器interface eth0virtual_router_id 51 priority 100 \\优先级低于主服务器最好相差50advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {172.16.1.254/24 dev eth0 label eth0:3}
}
4、启动keepalived
/etc/init.d/keepalived start
chkconfig keepalived on
echo /application/nginx/sbin/nginx /etc/rc.d/rc.local查看vip漂移
[rootOldboy keepalived]# ifconfig eth0:3
eth0:3 Link encap:Ethernet HWaddr 00:0C:29:6D:23:83 inet addr:172.16.1.254 Bcast:0.0.0.0 Mask:255.255.255.0UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:15、将vip映射到公网ip由于我这里没有硬件防火墙只能使用同一局域网的其它服务器代替这台服务器需要能联网
(1) 开启路由转发
[rootOldboy ~]# sed -i s#net.ipv4.ip_forward 0#net.ipv4.ip_forward 1#g /etc/sysctl.conf
[rootOldboy ~]# sysctl -p
net.ipv4.ip_forward 1(2) 配置地址映射
iptables -F -t nat
iptables -t nat -I PREROUTING -p tcp -d 10.0.0.51 --dport 80 -j DNAT --to-destination 172.16.1.254:80
iptables -t nat -A POSTROUTING -j MASQUERADE
/etc/init.d/iptables save
/etc/init.d/iptables restart6、测试并验证
客户端绑定hosts: 10.0.0.51 www.etiantian.org bbs.etiantian.org blog.etiantian.org 一个vip对应多个域名1、keepalived只负责vip漂移能够让用户顺利将请求通过vip交给web服务器当停止主服务器备用服务器会接管vip继续提供web服务器2、当访问www.etiantian.org bbs.etiantian.org 或 blog.etiantian.org则解析到 10.0.0.51公网VIP并NAT映射到172.16.1.254vip与web服务器在一起为用户提供服务