Centos 7 Keepalived + Nginx 더 블 핫 준비 HA 의 정확 한 자 세 를 설치 하고 자동 실행 노트 를 켜 세 요.
9712 단어 centos7nginxkeepalived
github 에 걸 린 개인 블 로그: hexo 가 개인 블 로 그 를 강력하게 구동 합 니 다.
이러한 설정 의 역할 에 대해 저 는 간단하게 설명 하 겠 습 니 다. ① 예 를 들 어 nginx 한 대가 백 엔 드 서버 클 러 스 터 에 부하 균형 을 제공 하고 이 ngixn 이 끊 었 다 고 가정 하면 백 엔 드 서버 클 러 스 터 도 취소 되 고 ② 다시 말 하면 Keepalived + Nginx 는 nginx 한 대 를 끊 은 후에 nginx 한 대가 부하 균형 서 비 스 를 계속 제공 하 는 것 을 방지 하 는 것 입 니 다.
준비: 두 대의 기계, 세 개의 ip (서로 연결 가능 {일반 같은 네트워크})
nginx_01 ip:192.168.59.128
nginx_02 ip:192.168.59.129
ip:192.168.59.130
1. 방화벽 설정:
방화벽 닫 기와 통과 포트 추가 둘 중 하 나 를 선택 하 십시오.
1.1 방화벽 을 직접 닫 습 니 다 (nginx 01 과 nginx 02 모두 실행)
systemctl stop firewalld.service # firewall
systemctl disable firewalld.service # firewall
firewall-cmd --state # ( notrunning, running)
[root@localhost ~]# firewall-cmd --state
not running
[root@localhost ~]#
1.2 실행 포트 추가 (nginx 01 과 nginx 02 모두 실행)
firewall-cmd --zone=public --add-port=80/tcp --permanent # (--permanent , )
firewall - cmd – reload \ # 방화벽 새로 고침 적용
```
firewall-cmd --zone=public --list-ports #
[root@localhost ~]# firewall-cmd --zone=public --add-port=18080/tcp --permanent # (--permanent , )
success
[root@localhost ~]# firewall-cmd --reload #
success
[root@localhost ~]# firewall-cmd --zone=public --list-ports #
80/tcp
[root@localhost ~]#
2. keepalived 설치 (nginx 01 과 nginx 02 모두 실행)
yum install keepalived
keepalived -v
3. 프로필 백업
nginx 에서01 위 설정
cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
vim /etc/keepalived/keepalived.conf
다음 내용 으로 수정
! Configuration File for keepalived
global_defs {
router_id nginx_server_1
}
vrrp_script chk_nginx {
script "/etc/keepalived/nginx_check.sh"
interval 2
weight 20
!weight
! 0,,Master:weight+priority>Backup:weight+priority( )
! 0,Master:priority:priority+weight( )
!weight
! 0,,Master:priority>Backup:priority( )
! 0,Master:priority+weight:priority( )
! ,weight Master Backup priority
}
vrrp_instance VI_1 {
state MASTER
interface ens33 !
virtual_router_id 51
mcast_src_ip 192.168.59.128 !nginx01 ip
priority 100
nopreempt
advert_int 1
authentication {
auth_type PASS
auth_pass 1111 ! nginx
}
track_script {
chk_nginx
}
virtual_ipaddress {
192.168.59.222/24 ! ip
}
}
nginx 에서02 위 설정
cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
vi /etc/keepalived/keepalived.conf
다음 내용 으로 수정
주의:
state , BACKUP
route_id
priority
! Configuration File for keepalived
global_defs {
router_id nginx_server_2
}
vrrp_script chk_nginx {
script "/etc/keepalived/nginx_check.sh"
interval 2
weight 20
!weight
! 0,,Master:weight+priority>Backup:weight+priority( )
! 0,Master:priority:priority+weight( )
!weight
! 0,,Master:priority>Backup:priority( )
! 0,Master:priority+weight:priority( )
! ,weight Master Backup priority
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 51
mcast_src_ip 192.168.59.129
priority 90
nopreempt
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
chk_nginx
}
virtual_ipaddress {
192.168.59.222/24
}
}
4. nginx 프로 세 스 의 코드 를 검사 합 니 다. nginx 프로 세 스 가 무 너 지면 keepalived 는 자동 으로 nginx 를 시작 합 니 다.
nginx 에서01 과 nginx02 에 한 번 씩 설정
vim /etc/keepalived/nginx_check.sh
다음 코드 추가
#!/bin/bash
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then
/usr/sbin/nginx
sleep 2
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
killall keepalived
fi
fi
5. 실행 가능 한 파일 로 변경
nginx 에서01 과 nginx02 에 한 번 씩 설정
chmod +xxx /etc/keepalived/nginx_check.sh
6. 시동 과 시동 자동 시동
nginx 에서01 과 nginx02 에 한 번 씩 설정
systemctl start keepalived //
systemctl enable keepalived //
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
CentOS7에서 GuestAdditions를 도입하여 마우스 통합 및 해상도 자동 크기 조정을 활성화합니다.CentOS7과 VirtualBox를 사용하여 가상 환경을 만들어 보았지만, 호스트 키 누르지 않으면 포인터가 원래 OS로 돌아가 이것없는 화면 조정 방법을 모르는 분을 향한 기사입니다. Windows10,64bit...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.