Centos 7 에서 lvs 부하 균형 lvs - tun 모드 설정
director:172.28.18.69 vip:172.28.18.70
real server1:172.28.18.71
real server2:172.28.18.78
2. real server 에 nginx 를 설치 합 니 다.
nginx yum 원본 설정
[root@localhost ~]# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
설치 하 다.
[root@localhost ~]# yum install -y nginx
살펴보다
[root@localhost ~]# whereis nginx
nginx: /usr/sbin/nginx /usr/lib64/nginx /etc/nginx /usr/share/nginx /usr/share/man/man8/nginx.8.gz
[root@localhost ~]#
프로필
기본 루트 디 렉 터 리 페이지 주소 보기
[root@localhost ~]# vim /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
편집 / usr / share / nginx / html / index. html
이 컴퓨터 의 IP 주 소 를 더 하면 부하 균형 을 테스트 할 때 어느 real server 에 배포 되 었 는 지 알 수 있 습 니 다.
[root@localhost ~]# vim /usr/share/nginx/html/index.html
<head>
Welcome to nginx!
head>
Welcome to nginx!-71
If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.
For online documentation and support please refer to
"http://nginx.org/">nginx.org.
Commercial support is available at
"http://nginx.com/">nginx.com.
Thank you for using nginx.
저장, 종료
시작 nginx
[root@localhost conf.d]# nginx -c /etc/nginx/nginx.conf
IP 를 표시 할 수 있 습 니 다. 같은 172.28.18.78 서버 도 nginx 를 설치 하고 설정 합 니 다.
3. 172.28.18.69 에 ipvsadm 를 설치 합 니 다.
[root@localhost mysql-5.7.26]# yum install -y ipvsadm
:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.huaweicloud.com
* updates: mirrors.tuna.tsinghua.edu.cn
base | 3.6 kB 00:00:00
extras | 3.4 kB 00:00:00
updates | 3.4 kB 00:00:00
-->
---> ipvsadm.x86_64.0.1.27-7.el7
-->
===========================================================================================================
Package
===========================================================================================================
:
ipvsadm x86_64 1.27-7.el7 base 45 k
===========================================================================================================
1
:45 k
:75 k
Downloading packages:
ipvsadm-1.27-7.el7.x86_64.rpm | 45 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
:RPM yum 。
** 2 RPM , 'yum check' :
2:postfix-2.10.1-7.el7.x86_64 libmysqlclient.so.18()(64bit)
2:postfix-2.10.1-7.el7.x86_64 libmysqlclient.so.18(libmysqlclient_18)(64bit)
: ipvsadm-1.27-7.el7.x86_64 1/1
: ipvsadm-1.27-7.el7.x86_64 1/1
:
ipvsadm.x86_64 0:1.27-7.el7
!
4. 가상 서버 설정
[root@director ~]# ipvsadm -A -t 172.28.18.70:80 -s rr
가상 서버 추가 172.28.18.69, - A: 가상 서버 추가 -t: tcp 프로 토 콜 - s: 배포 알고리즘 rr 폴 링
5. 백 엔 드 실제 서버 추가
[root@director home]# ipvsadm -a -t 172.28.18.70:80 -r 172.28.18.71:80 -i -w 1
[root@director home]# ipvsadm -a -t 172.28.18.70:80 -r 172.28.18.78:80 -i -w 1
- a: 백 엔 드 서버 추가 - t: 대응 하 는 가상 서버 IP - r: 대응 하 는 백 엔 드 서버 IP - i: lvs - tun 모드 - w: 가중치
6. 설정 규칙 보기
[root@director home]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.28.18.70:80 rr
-> 172.28.18.71:80 Tunnel 1 0 0
-> 172.28.18.78:80 Tunnel 1 0 0
7. director 배포 기의 가상 IP 를 장치 em 1: 0 으로 설정 합 니 다.
[root@director home]# ip addr add 172.28.18.70 dev em1:0
8. 백 엔 드 서버 에 ipip 모듈 불 러 오기
ipip 모듈 을 불 러 오 면 기본 tunl 0 터널 이 있 습 니 다.
1. tunl 0 터널 이 있 는 지 확인
[root@localhost conf]# lsmod|grep ipip[root@localhost conf]#
ipip 모듈 없 음, ipip 모듈 불 러 오기
[root@localhost conf]# modprobe ipip
있다
[root@localhost conf]# lsmod|grep ipip
ipip 13465 0
tunnel4 13252 1 ipip
ip_tunnel 25163 1 ipip
tunl 0
[root@server-1 html]# ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: em1: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 90:b1:1c:15:be:09 brd ff:ff:ff:ff:ff:ff
inet 172.28.18.78/28 brd 172.28.18.79 scope global noprefixroute em1
valid_lft forever preferred_lft forever
inet6 fe80::e6fb:2cb7:2743:4720/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: em2: mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 90:b1:1c:15:be:0a brd ff:ff:ff:ff:ff:ff
inet 192.168.18.103/24 brd 192.168.18.255 scope global noprefixroute em2
valid_lft forever preferred_lft forever
inet6 fe80::3137:91de:1663:a505/64 scope link tentative
valid_lft forever preferred_lft forever
4: tunl0@NONE: mtu 1480 qdisc noop state DOWN group default qlen 1000
link/ipip 0.0.0.0 brd 0.0.0.0
9. 백 엔 드 서버 에 가상 IP 바 인 딩 tunl 0 설정
[root@localhost conf]# ip addr add 172.28.18.70 dev tunl0
10. 백 엔 드 서버 에서 ARP 리 트 윗 닫 기 설정
net.ipv4.conf.tunl0.arp_ignore = 1
net.ipv4.conf.tunl0.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.tunl0.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
[root@localhost conf]# sysctl -p
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.