一、需要的服务
nginx、keepalived、epel-release -y
二、安装命令
yum install -y keepalived #安装nginx以及拓展源 yum install epel-release -y yum install -y nginx
三、配置web服务
1、web1的nginx配置
[root@nginx1 ~]# vim /etc/nginx/conf.d/web.conf server{ listen 8080; root /usr/share/nginx/html; index test.html; } [root@nginx1 ~]# echo "<h1>this is web1</h1>" > /usr/share/nginx/html/test.html
2、web2的nginx配置
[root@nginx2 ~]# vim /etc/nginx/conf.d/web.conf server{ listen 8080; root /usr/share/nginx/html; index test.html; } [root@nginx2 ~]# echo "<h1>this is web2</h1>" > /usr/share/nginx/html/test.html
3、#启动
nginx -t nginx
四、 配置keepalived
以192.168.95.128 作为web1的master,192.168.95.129 作为web2为例
web1配置keepalived
vim /etc/keepalived/keepalived.conf
! configuration file for keepalived global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from alexandre.cassen@firewall.loc smtp_server 192.168.95.128 smtp_connect_timeout 30 router_id lvs_devel vrrp_skip_check_adv_addr vrrp_strict vrrp_garp_interval 0 vrrp_gna_interval 0 } 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.95.128 } } virtual_server 192.168.95.128 443 { delay_loop 6 lb_algo rr lb_kind nat persistence_timeout 50 protocol tcp real_server 192.168.95.128 443 { weight 1 ssl_get { url { path / digest ff20ad2481f97b1754ef3e12ecd3a9cc } url { path /mrtg/ digest 9b3a0c85a887a256d6939da88aabd8cd } connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } }
web2配置keepalived
vim /etc/keepalived/keepalived.conf
! configuration file for keepalived global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from alexandre.cassen@firewall.loc smtp_server 192.168.95.129 smtp_connect_timeout 30 router_id lvs_devel vrrp_skip_check_adv_addr vrrp_strict vrrp_garp_interval 0 vrrp_gna_interval 0 } vrrp_instance vi_1 { state backup interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type pass auth_pass 1111 } virtual_ipaddress { 192.168.95.129 } } virtual_server 192.168.95.129 443 { delay_loop 6 lb_algo rr lb_kind nat persistence_timeout 50 protocol tcp real_server 192.168.95.129 443 { weight 1 ssl_get { url { path / digest ff20ad2481f97b1754ef3e12ecd3a9cc } url { path /mrtg/ digest 9b3a0c85a887a256d6939da88aabd8cd } connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } }
五、脚本编写
mkdir /tools cd /tools # keepalived通知脚本 vim master.sh ip=$(hostname -i | awk '{print $1}') dt=$(date+'%y%m%d %h:%m:%s') echo "$0--${ip}--${dt}" >> /tmp/kp.log vim backup.sh ip=$(hostname -i | awk '{print $1}') dt=$(date+'%y%m%d %h:%m:%s') echo "$0--${ip}--${dt}" >> /tmp/kp.log vim fault.sh ip=$(ip addr|grep inet| grep 192.168 |awk '{print $2}') dt=$(date +'%y%m%d %h:%m:%s') echo "$0--${ip}--${dt}" >> /tmp/kp.log vim stop.sh ip=$(ip addr|grep inet| grep 192.168| awk '{print $2}') dt=$(date +'%y%m%d %h:%m:%s') echo "$0--${ip}--${dt}" >> /tmp/kp.log ## keepalived健康检查脚本 vim nginx_check.sh #!/bin/bash result=`pidof nginx` if [ ! -z "${result}" ]; then exit 0 else exit 1 fi # 注意脚本授权,重启keepalived cd /tools/ && chmod +x *.sh systemctl restart keepalived.service
六、放在浏览器测试
到此这篇关于nginx+keepalived配置的实现步骤的文章就介绍到这了,更多相关nginx keepalived配置内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论