nginx + keepalived 메 인 구축 기록
11929 단어 linux
1. 소프트웨어 설치
nginx version: nginx/1.16.1
nginx 가 설치 한 서버: 192.168.4.201 / 192.168.4.202
yum install -y nginx
2. 소프트웨어 시작
systemctl start nginx
3. nginx. conf 위치 보기
[root@localhost bin]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
5. 자동 시작 설정 켜 기
systemctl enable nginx.service # nginx
systemctl status nginx # nginx
7. keepalived 설치
ip
keepalived 역할
가상 ip
192.168.4.201
BACKUP
192.168.4.200
192.168.4.202
MASTER
192.168.4.200
1. 설치 에 필요 한 의존
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
2. keepalived 설치
디렉토리 에 들어가다
cd /usr/local/src
keepalived 다운로드
wget https://github.com/acassen/keepalived/archive/v2.0.18.tar.gz
스트레스 를 풀다
tar -zxvf v2.0.18.tar.gz
디렉토리 에 들어가다
cd keepalived-2.0.18
설치 시작
./build_setup
오류 가 발생 하면 xxx 에서 명령 을 찾 지 못 하면 다음 명령 을 실행 하여 해당 하 는 도 구 를 설치 합 니 다.
yum -y install aclocal autoheader automake autoreconf
다시 명령 을 집행 하 다
./build_setup
컴 파일 & 설치
./configure
make && make install
3. keepalived 설정
시스템 기본 경로 로 관련 프로필 복사
mkdir /etc/keepalived
cp ./keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
cp ./keepalived/etc/init.d/keepalived /etc/init.d/
cp ./keepalived/etc/sysconfig/keepalived /etc/sysconfig/
프로필 수정
vim /usr/lib/systemd/system/keepalived.service
PIDFile 의 값 을 / var / run / keepalived. pid 로 변경 합 니 다.
keepalived 설정 파일 수정
vim /etc/keepalived/keepalived.conf
Master 기기 (192.168.4.202) 의 설정 파일 은 다음 과 같 습 니 다.
!configuration File for keepalived
global_defs {
router_id nginx_ha
vrrp_skip_check_adv_addr
vrrp_garp_interval 0
vrrp_gna_interval 0
script_user root
enable_script_security
# notification_email
}
vrrp_script chk_nginx {
# nginx
script "/etc/keepalived/nginx_check.sh" interval 2
weight 20
}
vrrp_instance VI_1 {
state MASTER
interface ens32
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
# ip
192.168.4.200
}
track_script {
chk_nginx
}
notify_master "/usr/bin/python /etc/keepalived/send_email.py"
}
Backup (192.168.4.201) 기기 의 설정 파일 은 다음 과 같 습 니 다.
!configuration File for keepalived
global_defs {
router_id nginx_ha
vrrp_skip_check_adv_addr
vrrp_garp_interval 0
vrrp_gna_interval 0
script_user root
enable_script_security
# notification_email
}
vrrp_script chk_nginx {
# nginx
script "/etc/keepalived/nginx_check.sh" interval 2
weight 20
}
vrrp_instance VI_1 {
state BACKUP
interface ens32
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.4.200
}
track_script {
chk_nginx
}
notify_master "/usr/bin/python /etc/keepalived/send_email.py"
}
nginx 작성check 스 크 립 트
#!/bin/bash
if [ $(ps aux|grep nginx|egrep '(master|worker)' | wc -l ) -eq 0 ]; then
/usr/sbin/nginx
sleep 2
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
/etc/init.d/keepalived stop
fi
else
echo "nginx is running"
fi
스 크 립 트 에 실행 가능 한 권한 추가
chmod +x /etc/keepalived/nginx_check.sh
작성 sendemail. py 스 크 립 트
#! /usr/bin/env python
# coding=utf-8
from email.mime.text import MIMEText
from email.header import Header
from smtplib import SMTP_SSL
# smtp
host_server = ' smtp '
# sender
sender = ' '
# pwd
pwd = 'password'
#
sender_cbi_mail = ' '
#
receiver = ' '
#
mail_content = ' , master nginx 172.16.254.102 , !
keepalived , !'
#
mail_title = 'ngxin !'
smtp = SMTP_SSL(host_server)
smtp.set_debuglevel(1)
smtp.ehlo(host_server)
smtp.login(sender, pwd)
msg = MIMEText(mail_content, "plain", 'utf-8')
msg["Subject"] = Header(mail_title, 'utf-8')
msg["From"] = sender_cbi_mail
msg["To"] = receiver
smtp.sendmail(sender_cbi_mail, receiver, msg.as_string())
smtp.quit()
Keepalived 를 시작 하고 켜 기 시작 에 추가 합 니 다.
systemctl start keepalived
systemctl enable keepalived
4. 상용 디 렉 터 리 및 명령
keepalived 로그 경로
/var/log/messages
keepalived 프로필 경로
/etc/keepalived/keepalived.conf
keepalived 명령 시작
systemctl start keepalived
keepalived 명령 다시 시작
systemctl restart keepalived
keepalived 명령 정지
systemctl stop keepalived
keepalived 의 설치 디 렉 터 리
/usr/local/src/keepalived-2.0.18
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.