CentOS 7 构建 LVS-DR 群集 nginx负载均衡

1、基于 CentOS 7 构建 LVS-DR 群集。

DS(Director Server):DIP 192.168.231.132 & VIP 192.168.231.200

bash 复制代码
[root@132 ~]# nmcli c show
NAME   UUID                                  TYPE      DEVICE 
ens33  c89f4a1a-d61b-4f24-a260-6232c8be18dc  ethernet  ens33  
[root@132 ~]# nmcli c m ens33 +ipv4.addresses 192.168.231.200/24
[root@132 ~]# nmcli c up ens33
[root@132 ~]# yum install ipvsadm -y
[root@132 ~]# ipvsadm -A -t 192.168.231.200:80 -s rr
[root@132 ~]# ipvsadm -a -t 192.168.231.200:80 -r 192.168.231.136 -g -w 1
[root@132 ~]# ipvsadm -a -t 192.168.231.200:80 -r 192.168.231.137 -g -w 1
[root@132 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.231.200:80 rr
  -> 192.168.231.136:80           Route   1      0          0         
  -> 192.168.231.137:80           Route   1      0          0   
 

rs1

bash 复制代码
[root@137 ~]# yum install net-tools.x86_64
[root@137 ~]# yum install httpd -y
[root@137 ~]# echo "web test pages ip is `hostname -I`" > /var/www/html/index.html
[root@137 ~]# systemctl restart httpd
[root@137 ~]# ifconfig lo:200 192.168.231.200 netmask 255.255.255.255 up
[root@137 ~]# route add -host 192.168.231.200 dev lo
[root@137 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.231.2   0.0.0.0         UG    100    0        0 ens33
192.168.231.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.231.200 0.0.0.0         255.255.255.255 UH    0      0        0 lo
[root@137 ~]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@137 ~]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@137 ~]# echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@137 ~]# echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce

rs2

bash 复制代码
[root@136 ~]# yum install net-tools.x86_64
[root@136 ~]# yum install httpd -y
[root@136 ~]# echo "web test pages ip is `hostname -I`" > /var/www/html/index.html
[root@136 ~]# ifconfig lo:200 192.168.231.200 netmsak 255.255.255.255 up
[root@136 ~]# ifconfig lo:200 192.168.231.200 netmask 255.255.255.255 up
[root@136 ~]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@136 ~]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@136 ~]# echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@136 ~]# echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce

测试

2、配置nginx负载均衡。

132内网服务器

bash 复制代码
yum localinstall  nginx-1.22.0-1.el7.ngx.x86_64.rpm
[root@localhost ~]# vim /etc/nginx/conf.d/vhost.conf
server {
        listen 80;
        server_name web1.yunjisuan.com;
 
        location / {
                root /usr/share/nginx/html/web1;
                index index.html index.htm;
        }
        access_log /usr/share/nginx/html/web1/logs/access_bbs.log main;
}
[root@localhost ~]# mkdir -p /usr/share/nginx/html/web1/logs
[root@localhost ~]# echo "`hostname -I `web1" > /usr/share/nginx/html/web1/index.html
[root@localhost ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@localhost ~]# systemctl restart nginx

136内网服务器

bash 复制代码
yum localinstall  nginx-1.22.0-1.el7.ngx.x86_64.rpm
[root@localhost ~]# vim /etc/nginx/conf.d/vhost.conf
server {
        listen 80;
        server_name web1.yunjisuan.com;
 
        location / {
                root /usr/share/nginx/html/web1;
                index index.html index.htm;
        }
        access_log /usr/share/nginx/html/web1/logs/access_bbs.log main;
}
 
 
[root@localhost ~]# mkdir -p /usr/share/nginx/html/web1/logs
[root@localhost ~]# echo "`hostname -I `web1" > /usr/share/nginx/html/web1/index.html
[root@localhost ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@localhost ~]# systemctl restart nginx
 

137代理服务器

bash 复制代码
yum localinstall  nginx-1.22.0-1.el7.ngx.x86_64.rpm
[root@localhost ~]# vim /etc/nginx/conf.d/lb_test.conf
upstream www_server_pools {
        server 192.168.231.132:80 weight=1;
        server 192.168.231.136:80 weight=1;
}
server {
        listen 80;
        server_name web1.haha.com;
        location / {
                proxy_pass http://www_server_pools;
                proxy_set_header Host $host;
        }
}

客户端

bash 复制代码
[root@localhost ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.231.137 web1.haha.com
[root@localhost ~]# for ((i=1;i<=4;i++)); do curl web1.haha.com; done
192.168.231.136 web1
192.168.231.132 web1
192.168.231.136 web1
192.168.231.132 web1
相关推荐
吴声子夜歌4 小时前
Nginx应用与运维——Nginx在Kubernetes中的应用(一)
运维·nginx·kubernetes
螺蛳粉 螺蛳粉5 小时前
第一篇:Keepalived 高可用实战:VIP 漂移与 Nginx 主备切换完整指南
运维·nginx·负载均衡·keepalived·高可用
吴声子夜歌5 小时前
Nginx应用与运维——Nginx在Kubernetes中的应用(三)
运维·nginx·kubernetes
吴声子夜歌6 小时前
Nginx应用与运维——Nginx在Kubernetes中的应用(二)
运维·nginx·kubernetes
Wang's Blog15 小时前
Java 项目实战: 外卖平台优化-Nginx配置文件结构与块层级
java·开发语言·nginx
Lsetea18 小时前
Nginx加载证书时报SSL_CTX_use_PrivateKey_file失败:私钥配对与权限排查
nginx·https·ssl证书·私钥·证书部署
吴声子夜歌1 天前
Nginx应用与运维——Nginx负载均衡应用实战(二)
运维·nginx·负载均衡
Wang's Blog1 天前
Java 项目实战: 外卖平台优化-Nginx六种负载均衡策略对比与选型
java·nginx·负载均衡
吴声子夜歌1 天前
Nginx应用与运维——Nginx监控配置及管理(二)
运维·nginx
吴声子夜歌1 天前
Nginx应用与运维——Nginx日志管理
java·运维·nginx