CentOS 7 구축 Haproxy + Nginx + Firewalld + DNS 부하 균형
Nginx 의 원리 에 대한 개술 및 상세 한 설정 은 블 로그: Centos 7 Nginx 사이트 서비스 배치
[root@centos01 ~]# yum -y install prce-devel zlib-devel
[root@centos01 ~]# useradd -M -s /sbin/nologin nginx
[root@centos01 ~]# umount /mnt/
mount: /dev/sr0 ,
[root@centos01 ~]# scp /mnt/nginx-1.6.0.tar.gz [email protected]:/root
The authenticity of host '192.168.100.20 (192.168.100.20)' can't be established.
ECDSA key fingerprint is SHA256:PUueT9fU9QbsyNB5NC5hbSXzaWxxQavBxXmfoknXl4I.
ECDSA key fingerprint is MD5:6d:f7:95:0e:51:1a:d8:9e:7b:b6:3f:58:51:51:4b:3b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.100.20' (ECDSA) to the list of known hosts.
[email protected]'s password:
nginx-1.6.0.tar.gz 100% 784KB 68.2MB/s 00:00
[root@centos01 ~]# scp /mnt/haproxy-1.4.24.tar.gz [email protected]:/root
The authenticity of host '192.168.100.30 (192.168.100.30)' can't be established.
ECDSA key fingerprint is SHA256:PUueT9fU9QbsyNB5NC5hbSXzaWxxQavBxXmfoknXl4I.
ECDSA key fingerprint is MD5:6d:f7:95:0e:51:1a:d8:9e:7b:b6:3f:58:51:51:4b:3b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.100.30' (ECDSA) to the list of known hosts.
[email protected]'s password:
haproxy-1.4.24.tar.gz 100% 817KB 31.1MB/s 00:00 00:00
[root@centos01 ~]# tar zxvf /mnt/nginx-1.6.0.tar.gz -C /usr/src/
[root@centos01 ~]# cd /usr/src/nginx-1.6.0/
[root@centos01 nginx-1.6.0]# ./configure --prefix=/usr/local/nginx --user=nginx
[root@centos01 nginx-1.6.0]# make && make install
[root@centos01 ~]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/
[root@centos01 ~]# echo "192.168.100.10:nginx" > /usr/local/nginx/html/index.html
[root@centos01 ~]# nginx
[root@centos01 ~]# netstat -anptu | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3685/ngin: master
2. 두 번 째 Nginx 사이트 배치
[root@centos02 ~]# yum -y install pcre-devel zlib-devel
[root@centos02 ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg nginx-1.6.0.tar.gz
[root@centos02 ~]# tar zxvf nginx-1.6.0.tar.gz -C /usr/src/
[root@centos02 ~]# useradd -M -s /sbin/nologin nginx
[root@centos02 ~]# cd /usr/src/nginx-1.6.0/
[root@centos02 nginx-1.6.0]# ./configure --prefix=/usr/local/nginx --user=nginx
[root@centos02 nginx-1.6.0]# make && make install
[root@centos02 ~]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/
[root@centos02 ~]# echo "192.168.100.20:nginx" > /usr/local/nginx/html/index.html
[root@centos02 ~]# nginx
[root@centos02 ~]# netstat -anptu | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 6059/ngin: master
3. 내부 네트워크 클 라 이언 트 배치
1. 클 라 이언 트 가 VM1 네트워크 카드 를 추가 하고 서버 와 같은 네트워크 IP 주 소 를 설정 합 니 다.
2. 첫 번 째 nginx 서버 방문
3. 클 라 이언 트 가 IP 주 소 를 바 꾸 어 두 번 째 nginx 서버 에 접근 합 니 다.
4. Haproxy 서버 배치
Haproxy 개술 및 작업 원리 상세 설정 참고 박문: Haproxy 구축 웹 클 러 스 터 개술 Centos 7 Haproxy 기반 고가 용 웹 클 러 스 터 구축
1. haproxy 설치
[root@centos03 ~]# yum -y install pcre-devel bzip2-devel
[root@centos03 ~]# ls
anaconda-ks.cfg haproxy-1.4.24.tar.gz initial-setup-ks.cfg
[root@centos03 ~]# tar zxvf haproxy-1.4.24.tar.gz -C /usr/src/
[root@centos03 ~]# cd /usr/src/haproxy-1.4.24/
[root@centos03 haproxy-1.4.24]# make TARGET=linux26
[root@centos03 haproxy-1.4.24]# make install
2. haproxy 프로필 생 성
[root@centos03 ~]# mkdir /etc/haproxy
[root@centos03 ~]# cp /usr/src/haproxy-1.4.24/examples/haproxy.cfg /etc/haproxy/
[root@centos03 ~]# cp /usr/src/haproxy-1.4.24/examples/haproxy.init /etc/init.d/haproxy
[root@centos03 ~]# chmod +x /etc/init.d/haproxy
[root@centos03 ~]# chkconfig --add haproxy
[root@centos03 ~]# chkconfig --level 35 haproxy on
[root@centos03 ~]# cp /usr/src/haproxy-1.4.24/haproxy /usr/sbin/
[root@centos03 ~]# mkdir -p /usr/share/haproxy
3. haproxy 군집 설정
[root@centos03 ~]# vim /etc/haproxy/haproxy.cfg
listen nginx 192.168.100.30:80
balance roundrobin
server web01 192.168.100.10:80 check inter 2000 fall 3
server web02 192.168.100.20:80 check inter 2000 fall 3
[root@centos03 ~]# /etc/init.d/haproxy start
Starting haproxy (via systemctl): [ ]
1) 클 라 이언 트 방문 192.168.100.30
2) 클 라 이언 트 IP 주소 변경 재 접속
5. 방화벽 (더 블 네트워크 카드) 설정
Firewalld 방화벽 에 대한 개술 및 상세 한 설정 은 박문 을 참고 하 십시오. Centos 7 의 Firewalld 방화벽 기초 Centos 7 의 firewalld 방화벽 주소 위장 과 포트 퍼 가기 원리 centos 7 의 firewalld 방화벽 설정 IP 위장 과 포트 퍼 가기 사례 상세 설명
[root@centos04 ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-ens34
[root@centos04 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens34
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=ens34
DEVICE=ens34
ONBOOT=yes
IPADDR=192.168.200.254
NATEMASK=255.255.255.0
DNS1=192.168.200.254
[root@centos04 ~]# systemctl restart network
[root@centos04 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@centos04 ~]# sysctl -p
[root@centos01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32
GATEWAY=192.168.100.40
[root@centos01 ~]# systemctl restart network
[root@centos04 ~]# systemctl start firewalld.service
[root@centos04 ~]# systemctl enable firewalld.service
[root@centos04 ~]# firewall-cmd --add-interface=ens34 --zone=external
The interface is under control of NetworkManager, setting zone to 'external'.
success
[root@centos04 ~]# firewall-cmd --add-interface=ens32 --zone=trusted
The interface is under control of NetworkManager, setting zone to 'trusted'.
success
[root@centos04 ~]# firewall-cmd --get-active-zones
external
interfaces: ens34
trusted
interfaces: ens32
[root@centos04 ~]# firewall-cmd --remove-masquerade --zone=external
success
[root@centos04 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.100.0/24 masquerade'
success
[root@centos04 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 destination address=192.168.200.254/32 forward-port port=80 protocol=tcp to-addr=192.168.100.30'
success
[root@centos04 ~]# firewall-cmd --zone=external --add-service=http
success
[root@centos04 ~]# firewall-cmd --zone=external --add-service=dns
success
[root@centos04 ~]# firewall-cmd --zone=external --list-all
external (active)
target: default
icmp-block-inversion: no
interfaces: ens34
sources:
services: ssh http dns
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
rule family="ipv4" source address="192.168.100.0/24" masquerade
rule family="ipv4" destination address="192.168.200.254/32" forward-port port="80" protocol="tcp" to-addr="192.168.100.30"
6. DNS 배치
DNS 에 대한 상세 한 설정 및 개술 은 박문 을 참고 하 십시오. CentOS 7 은 DNS 서 비 스 를 간단하게 구축 합 니 다.
[root@centos04 ~]# yum -y install bind bind-chroot bind-utils
[root@centos04 ~]# echo "" > /etc/named.conf
[root@centos04 ~]# vim /etc/named.conf
options {
listen-on port 53 { any; };
directory "/var/named";
};
zone benet.com IN {
type master;
file "benet.com.zone";
};
[root@centos04 ~]# named-checkconf -z /etc/named.conf
[root@centos04 ~]# vim /var/named/benet.com.zone
$TTL 86400
@ SOA benet.com. root.benet.com.(
2020021801
1H
15M
1W
1D
)
@ NS centos04.benet.com.
centos04 A 192.168.200.254
www A 192.168.200.254
[root@centos04 ~]# named-checkzone benet.com /var/named/benet.com.zone
zone benet.com/IN: loaded serial 2020021801
OK
[root@centos04 ~]# chmod +x /var/named/benet.com.zone
[root@centos04 ~]# chown named:named /var/named/benet.com.zone
[root@centos04 ~]# systemctl start named
[root@centos04 ~]# systemctl enable named
7. 외부 네트워크 클 라 이언 트 배치
1. 클 라 이언 트 설정 IP 주소, DNS 주소 추가
2. 클 라 이언 트 가 도 메 인 이름 으로 접근
3. 클 라 이언 트 IP 주소 변경 재 접속
- - - 본문 은 여기 서 끝 났 습 니 다. 읽 어 주 셔 서 감사합니다. -
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.