热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

nginx迁移

现在环境目前只有一台服务器2.现在迁移如下(lvs采用的是NAT的方式)3.IP说明:Nginx:192.168.0.106192.168.0.108Lvs:192.168.0
  1. 现在环境目前只有一台服务器

 2.现在迁移如下(lvs 采用的是NAT的方式)

技术分享

3.IP说明:

Nginx:192.168.0.106
      192.168.0.108
Lvs:  192.168.0.109 公网Ip:124.205.3.181
      192.168.0.110  公网Ip:124.205.3.179
Keepalived:
VIP:124.205.3.180  #解析地址
    192.168.0.21   #内网上网

4. LVS NAT 的原理

技术分享

  1)客户端请求数据,目标IP为VIP


  2)请求数据到达LB服务器,LB根据调度算法将目的地址修改为RIP地址及对应端口(此RIP地址是根据调度算法得出的。)并在连接HASH表中记录下这个连接。


  3)数据包从LB服务器到达RS服务器webserver,然后webserver进行响应。Webserver的网关必须是LB,然后将数据返回给LB服务器。


  4)收到RS的返回后的数据,根据连接HASH表修改源地址VIP&目标地址CIP,及对应端口80.然后数据就从LB出发到达客户端。


5)客户端收到的就只能看到VIP\DIP信息。

5.keepalived 主配置文件 192.168.0.109

192.168.0.109  master
!Configuration File for keepalived
 
global_defs{
    notification_email{
      liuhx@xinfushe.com
  }
   notification_email_fromAlexandre.Cassen@firewall.loc
   smtp_server 192.168.0.109
   smtp_connect_timeout 30
   router_id LVS_01
}
 
vrrp_instanceVI_1 {
    state MASTER
    interface eth1
    virtual_router_id 199
    priority 150
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1098
    }
    virtual_ipaddress {
        124.205.3.180/29  dev eth1 label eth1:2
    }
}
 
vrrp_instanceVI_2 {
    state MASTER
    interface eth0
    virtual_router_id 198
    priority 150
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1098
    }
    virtual_ipaddress {
       192.168.0.21/22 dev eth0 label eth0:1
    }
}
 
virtual_server124.205.3.180  80 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
    nat_mask 255.255.255.248
    persistence_timeout 0
    protocol TCP
              
    real_server 192.168.0.106 80 {
        weight 1
        TCP_CHECK {
              connect_timeout 8
              nb_get_retry 3
              delay_before_retry 3
              connect_port 80
              }
       }
 
    real_server 192.168.0.108 80 {
        weight 1
        TCP_CHECK {
              connect_timeout 8
              nb_get_retry 3
              delay_before_retry 3
              connect_port 80
               }
           }
}
 
virtual_server124.205.3.180  443 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
    nat_mask 255.255.255.248
    persistence_timeout 0
    protocol TCP
              
    real_server 192.168.0.106 443 {
        weight 1
        TCP_CHECK {
              connect_timeout 8
              nb_get_retry 3
              delay_before_retry 3
              connect_port 443
              }
       }
 
    real_server 192.168.0.108 443 {
        weight 1
        TCP_CHECK {
              connect_timeout 8
              nb_get_retry 3
              delay_before_retry 3
              connect_port 443
               }
           }
}

6.keepalived 备用 192.168.0.110 配置文件

!Configuration File for keepalived
 
global_defs{
    notification_email{
      liuhx@xinfushe.com
  }
   notification_email_fromAlexandre.Cassen@firewall.loc
   smtp_server 192.168.0.109
   smtp_connect_timeout 30
   router_id LVS_02
}
 
vrrp_instanceVI_1 {
    state BACKUP
    interface eth1
    virtual_router_id 199
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1098
    }
    virtual_ipaddress {
        124.205.3.180/29  dev eth1 label eth1:2
    }
}
 
vrrp_instanceVI_2 {
    state BACKUP
    interface eth0
    virtual_router_id 198
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1098
    }
    virtual_ipaddress {
       192.168.0.21/22 dev eth0 label eth0:1
    }
}
 
#ipvsadm-A -t 10.0.1.31:80 -s rr -p 300
virtual_server124.205.3.180  80 {
    delay_loop 6               
    lb_algo rr               
    lb_kind NAT               
    nat_mask 255.255.255.248
    persistence_timeout 50    
    protocol TCP
              
#ipvsadm-a -t 10.0.1.31:80 -r 10.0.1.6:80 -g
    real_server 192.168.0.106 80 {
        weight 1             
        TCP_CHECK {
        connect_timeout 8      
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        }
    }
 
    real_server 192.168.0.108 80 {
        weight 1             
        TCP_CHECK {
        connect_timeout 8      
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        }
    }
}
 
 
virtual_server124.205.3.180  443 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
    nat_mask 255.255.255.248
    persistence_timeout 0
    protocol TCP
 
    real_server 192.168.0.106 443 {
        weight 1
        TCP_CHECK {
                connect_timeout 8
                nb_get_retry 3
                delay_before_retry 3
                connect_port 443
                }
        }
 
    real_server 192.168.0.108 443 {
        weight 1
        TCP_CHECK {
                connect_timeout 8
                nb_get_retry 3
                delay_before_retry 3
                connect_port 443
                }
        }
}

7.网卡地址信息

[root@nat11~]# ifconfig
eth0:flags=4163  mtu 1500
        inet 192.168.0.109  netmask 255.255.252.0  broadcast 192.168.3.255
        inet6 fe80::20c:29ff:fe0e:71a1  prefixlen 64 scopeid 0x20
        ether 00:0c:29:0e:71:a1  txqueuelen 1000  (Ethernet)
        RX packets 10285665  bytes 6037023442 (5.6 GiB)
        RX errors 0  dropped 12270 overruns 0  frame 0
        TX packets 6762099  bytes 2555517373 (2.3 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0 collisions 0
 
eth0:1:flags=4163  mtu 1500
        inet 192.168.0.21  netmask 255.255.252.0  broadcast 0.0.0.0
        ether 00:0c:29:0e:71:a1  txqueuelen 1000  (Ethernet)
 
eth1:flags=4163  mtu 1500
        inet 124.205.3.181  netmask 255.255.255.248  broadcast 124.205.3.183
        inet6 fe80::20c:29ff:fe0e:71ab  prefixlen 64 scopeid 0x20
        ether 00:0c:29:0e:71:ab  txqueuelen 1000  (Ethernet)
        RX packets 5132918  bytes 2202414181 (2.0 GiB)
        RX errors 0  dropped 2 overruns 0  frame 0
        TX packets 5378351  bytes 5416028620 (5.0 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0 collisions 0
 
eth1:2:flags=4163  mtu 1500
        inet 124.205.3.180  netmask 255.255.255.248  broadcast 0.0.0.0
        ether 00:0c:29:0e:71:ab  txqueuelen 1000  (Ethernet)
 
lo:flags=73  mtu65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128 scopeid 0x10
        loop txqueuelen 0  (Local Loopback)
        RX packets 98  bytes 8360 (8.1 KiB)
        RX errors 0  dropped 0 overruns 0  frame 0
        TX packets 98  bytes 8360 (8.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0 collisions 0
 
[root@nat11~]#

8.说明:

NAT上面可以看出 网关nginx得指向lvs服务器,lvs得开启转发的功能

keepalivedVRRP协议允许网段(两台lvs都得做)

iptables -A INPUT -p 112 -d 224.0.0.0/32 -j ACCEPT

lvs开启内核转发:(两台lvs都得做)

echo 1 /proc/sys/net/ipv4/ip_forward


备注:LVS  443   80 都得开启,因为是https

    防火墙允许

    网关得指向lvs

    lvs开启内核转发


本文出自 “砖家博客” 博客,转载请与作者联系!

nginx迁移


推荐阅读
  • CentOS8.4 安装PHP7.4.25
    1、下载官网:https:www.php.netdownloads#cdmydata#wgethttps:www.php.netdistributionsphp ... [详细]
  • 本文分析和介绍了GLo ... [详细]
  • python基础(二、pycharm安装、卸载)
    3.在Ubuntu中安装PyCharmPyCharm的官方网站地址是:https:www.jetbrains.compycharm注意:安装时不要使用root用户安装,否则后期使用 ... [详细]
  • spotify engineering culture part 1
    原文,因为原视频说的太快太长,又没有字幕,于是借助youtube,把原文听&打出来了。中文版日后有时间再翻译。oneofthebigsucceessfactorshereatSpo ... [详细]
  • 【自制小工具】代码生成器
    【自制小工具】代码生成器陆陆续续接触过好几款代码生成工具,发现确实好用,但都会有那么点不完善的地方,所以索性就自己做一个吧。界面非常简单,反正是自己用的,简单点用起来也方便上图:左 ... [详细]
  • kepserver中文手册,kepserver使用教程,kepserver设置
    下面介绍一下KepServer模拟器的使用,以下示例使用服务器随附的Simulator驱动程序来演示创建、配置和运行项目的过程。Simulator驱动程序是基于内存的驱动程序,能为 ... [详细]
  • Linux负载均衡LVS(IPVS)
    一、LVS简介LVS是LinuxVirtualServer的简称,也就是Linux虚拟服务器,是一个由章文嵩博士发起的自由软件项目,现在已经是Linux ... [详细]
  • 论文阅读及复现 | Improved Semantic Representations From TreeStructured Long ShortTerm Memory Networks
    两种形式的LSTM变体Child-SumTree-LSTMsN-aryTree-LSTMshttps:paperswithcode.compaperimproved-semanti ... [详细]
  • 简单动态字符串redis里面很多地方都用到了字符串,我们知道redis是一个键值对存储的非关系型数据库,那么所有的key都是用字符串存储的,还有字符串类型,这些都是用字符串存储的 ... [详细]
  • 目录结构如下:Nginx基础知识NginxHTTP服务器的特色及优点Nginx的主要企业功能Nginx作为web服务器的主要应用场景包括:Nginx的安装安装环境 ... [详细]
  • 1、对于List而言,要不然就使用迭代器,要不然就从后往前删除,从前往后删除会出现角标越界。因为我List有两个remove方法,一个是int作为形参(删除指定位置的元素),一个是 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • SSL协议、TLS协议,使用哪一种更安全?
    在金融银行业,保护机密信息的安全至关重要。由于财务记录完全通过在线数据库维护,因此实施保护客户、银行和金融机构免受黑客攻击的安全功能比以往任何时候都更加重要。安全套接字层(SSL) ... [详细]
  • FroggerTimeLimit:1000MSMemoryLimit:65536KTotalSubmissions:32257Accepted:10396DescriptionFr ... [详细]
  • Proof (of knowledge) of exponentiation
    1.ProofofexponentiationProofofexponentiation是基于adaptiverootassumption(充分必要条件࿰ ... [详细]
author-avatar
强毛
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有