nginx keepalived lvs
8222 단어 nginxkeepalivedlvs부하 균형
환경 준비
모두 4 대의 가상 컴퓨터 입 니 다. 제 가 사용 하 는 mac 의 parallels desktop 에서 만 든 4 대의 centos 7 가상 컴퓨터 입 니 다.
master 192.168.20.104
salve 192.168.20.103
node1 192.168.20.102
node2 192.168.20.98
먼저 가상 컴퓨터 를 설치 한 후에 복 제 를 하면 된다.
가상 컴퓨터 설정
1. master 의 keepalived 를 설치 하고 다음 스 크 립 트 를 참고 하 십시오.
# -------------------------------------------------------- #
## Keepalived_intsall
# -------------------------------------------------------- #
# Keepalived installation
yum install -y gcc openssl-devel popt-devel
# error libnfnetlink headers missing
yum install -y libnfnetlink-devel
cd /root/software
[ ! -e keepalived-1.2.24.tar.gz ] && wget http://www.keepalived.org/software/keepalived-1.2.24.tar.gz
tar -zxvf keepalived-1.2.24.tar.gz
cd keepalived-1.2.24
./configure --prefix=/usr/local/keepalived
make && make install
cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/keepalived
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
mkdir -p /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf
chmod +x /etc/init.d/keepalived
echo $? || [ $? != 0 ] || print " installation keepalived failed" || exit 1
chkconfig --add keepalived
chkconfig --level 345 keepalived on
이상 은 해당 압축 패 키 지 를 다운로드 한 후 설치 설정 을 진행 합 니 다.
centos 7 이번에 제 가 사용 한 것 은 yum 설치 입 니 다. 명령 행 에서 명령 을 직접 실행 합 니 다.
yum install keepalived //
keepalived -v //
master 와 해당 하 는 salve 의 keepalived 를 설정 하고 명령 을 실행 합 니 다:
vim /usr/local/keepalived/keepalived.conf //
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost
[email protected] ##
}
notification_email_from [email protected]
smtp_server 127.0.0.1
smtp_connect_timeout 3
router_id LVS_DEVEL
}
vrrp_instance VI_1 { ## vrrp 1
state MASTER ##BACKUP BACKUP
interface eth0
virtual_router_id 51
priority 101 ##BACKUP 100
advert_int 1
garp_master_delay 5
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.20.10
}
virtual_server 192.168.20.10 80 {
delay_loop 6
lb_algo rr
lb_kind NAT # DR NAT TUN。 LVS
nat_mask 255.255.255.0
persistence_timeout 5
protocol TCP
real_server 192.168.20.98 80 {
weight 10
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.20.102 80 {
weight 10
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
2. 방화벽 설정, 실행 명령:
sysemctl stop firewalld.service //
sysemctl disable firewalld.service //
3. ipvsadm 설치, 실행 명령:
yum install ipvsadm //
ipvsadm -v //
4. (선택 가능) iptables 방화벽 을 설치 하려 면 해당 하 는 방화벽 정책 을 설정 하고 명령 을 실행 해 야 합 니 다.
vim /etc/sysconfig/iptables
eg:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -s 172.21.4.51 -j ACCEPT
-A INPUT -s 172.21.4.52 -j ACCEPT
-A INPUT -s 172.21.4.91 -j ACCEPT
-A INPUT -s 172.21.4.92 -j ACCEPT
해당 포트 를 엽 니 다.
5. 노드 에 nginx 를 설치 하고 해당 하 는 방화벽 을 설치 하여 nginx 80 포트 에 접근 할 수 있 도록 주의 하 십시오. 스 크 립 트 를 참고 하 십시오.
#!/bin/bash
# author: kuangl
# mail: [email protected]
# description: The installation of Nginx files.
# -------------------------------------------------------- #
## Nginx_install
# -------------------------------------------------------- #
# Nginx installation
#CURRENT_PATH=$(pwd)
for i in $(rpm -q gcc gcc-c++ kernel-devel openssl-devel zlib-devel popt-devel popt-static libnl-devel wget make |grep 'not installed' | awk '{print $2}')
do
yum -y install $i
done
[ -d /root/software ]
[ "$?" != 0 ] && mkdir /root/software
cd /root/software
[ ! -e pcre-8.40.tar.gz ] && wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz
tar -zxvf pcre-8.40.tar.gz
cd pcre-8.40
./configure
make && make install
echo $? || [ $? != 0 ] || echo " installation pcre failed" || exit 1
cd /root/software
[ ! -e nginx-1.11.5.tar.gz ] && wget http://nginx.org/download/nginx-1.11.5.tar.gz
tar -zxvf nginx-1.11.5.tar.gz
cd nginx-1.11.5
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_sub_module --with-http_stub_status_module --with-http_gzip_static_module
make && make install
echo $? || [ $? != 0 ] || echo " installation nginx failed" || exit 1
6. nginx 노드 에 lvs 설정
ipvsadm -C
ipvsadm -At 192.168.20.10:80 -s rr
ipvsadm -at 192.168.20.10:80 -r 192.168.20.98 -m
ipvsadm -at 192.168.20.10:80 -r 192.168.20.102 -m
-a -t lvs VIP -r ip -w -g DR -m NAT
7. 시작 및 검증
keepalived
(1) , sh , :/etc/init.d/keepalived start
(2)centos7 yum ,
systemctl daemon-reload
systemctl enable keepalived.service
systemctl disable keepalived.service
systemctl start keepalived.service
systemctl stop keepalived.service
(3)
systemctl status keepalived.service
nginx
(1) linux
(2)
Linux (Iptables)
: chkconfig iptables on
: chkconfig iptables off
Linux (Iptables) ,
: service iptables start
: service iptables stop
nginx :
nginx -v //
ps -ef|grep nginx // , ,
kill -9 //
pkill -9 nginx //
nginx -c /usr/local/nginx/nginx.conf //
nginx -s stop //
nginx -s qiut //
nginx -s reload //
8. 주의사항
1、 : /var/log/messages , keepalived -d 。
2、 MASTER priority , (service vrrp start) 。
3、 MASTER priority , down/up , down up , 。
4、 MASTER priority , down( ), , 。
#keepalived , vrrp_instance 。
# 0, weight 0,
# 0, weight 0,
# , , priority 。
# :
#1) “ ” , track ,
#2) weight
#3) , [1,254], 0 255
# , 。
9. 참조 링크
http://blog.csdn.net/yinwenjie/article/details/47211551
http://www.linuxidc.com/Linux/2015-07/120179.htm
http://blog.csdn.net/nimasike/article/details/51867046
http://os.51cto.com/art/201103/249045.htm
https://github.com/jiji87432/nginx_sh //관련 설치 설정 스 크 립 트
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.