LVS + keepalived 4 층 부 하 를 통 해 nginx 프 록 시 서버 로 전송 을 요청 합 니 다.프 록 시 서버 를 통 해 백 엔 드 실제 응용 서비스 에 접근 합 니 다.
Centeos 7 시스템
환경 6 대의 기계 준비 하기;
lvs + keepalived - 두 대
nginx 에이전트 - 두 대
tomcat --- 한 대
php --- 한 대
모든 기계 가 방화벽 과 selinux 를 닫 습 니 다.
모든 기 계 는 다음 과 같이 해석 합 니 다: vim / etc / hosts \ # 마지막 에 추가 합 니 다.
192.168.246.142 lvs-keep-master
192.168.246.143 lvs-keep-backup
192.168.246.144 nginx-web1
192.168.246.145 nginx-web2
192.168.246.146 tomcat-server
192.168.246.147 php-server
단계 1 배치 lvs - keepalived 서비스
[root@lvs-keep-master ~]# yum -y install ipvsadm keepalived
[root@lvs-keep-master ~]# cd /etc/keepalived/
[root@lvs-keep-master keepalived]# cp keepalived.conf keepalived.conf.bak
[root@lvs-keep-master keepalived]# vim keepalived.conf
! Configuration File for keepalived
global_defs {
router_id master
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 80
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.246.16/32 #( IP;vip)
}
}
virtual_server 192.168.246.16 80 {
delay_loop 6
lb_algo rr
lb_kind DR
net_mask 255.255.255.0
protocol TCP
real_server 192.168.246.144 80 { #(nginx-web1 IP)
weight 1
inhibit_on_failure
TCP_CHECK {
connect_port 80
connect_timeout 3
}
}
real_server 192.168.246.145 80 { #(nginx-web2 IP)
weight 1
inhibit_on_failure
TCP_CHECK {
connect_port 80
connect_timeout 3
}
}
}
[root@lvs-keep-backup ~]# yum -y install ipvsadm keepalived
[root@lvs-keep-backup ~]# cd /etc/keepalived/
[root@lvs-keep-backup keepalived]# cp keepalived.conf keepalived.conf.bak
master backup
[root@lvs-keep-master keepalived]# scp keepalived.conf 192.168.246.143:/etc/keepalived/
backup :
[root@lvs-keep-backup keepalived]# vim keepalived.conf
! Configuration File for keepalived
global_defs {
router_id backup # backup
}
vrrp_instance VI_1 {
state BACKUP # BACKUP
interface ens33
nopreempt #
virtual_router_id 80
priority 50 # 50,
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.246.16/32
}
}
virtual_server 192.168.246.16 80 { #( IP;vip)
delay_loop 6
lb_algo rr
lb_kind DR
net_mask 255.255.255.0
protocol TCP
real_server 192.168.246.144 80 { #(nginx-web1 IP)
weight 1
inhibit_on_failure
TCP_CHECK {
connect_port 80
connect_timeout 3
}
}
real_server 192.168.246.145 80 { #(nginx-web2 IP)
weight 1
inhibit_on_failure
TCP_CHECK {
connect_port 80
connect_timeout 3
}
}
}
keepalived
[root@lvs-keep-master ~]# systemctl start keepalived
[root@lvs-keep-backup ~]# systemctl start keepalived
master vip :
[root@lvs-keep-master ~]# ip a
2 단계 nginx 서비스 배치
1. nginx
[root@nginx-web1 ~]# cd /etc/yum.repos.d/
[root@nginx-web1 yum.repos.d]# vim nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
[root@nginx-web1 yum.repos.d]# yum install yum-utils -y
[root@nginx-web1 yum.repos.d]# yum install nginx -y
2. lo vip
[root@nginx-web1 ~]# ip addr add dev lo 192.168.246.16/32 #( IP;vip)
[root@nginx-web1 ~]# echo "net.ipv4.conf.all.arp_ignore = 1" >> /etc/sysctl.conf
[root@nginx-web1 ~]# sysctl -p
====================================================================================
[root@nginx-web2 ~]# ip addr add dev lo 192.168.246.16/32 #( IP;vip)
[root@nginx-web2 ~]# echo "net.ipv4.conf.all.arp_ignore = 1" >> /etc/sysctl.conf
[root@nginx-web2 ~]# sysctl -p
3. nginx
[root@nginx-web1 ~]# cd /etc/nginx/conf.d/
[root@nginx-web1 conf.d]# cp default.conf default.conf.bak
[root@nginx-web1 conf.d]# mv default.conf proxy.conf
[root@nginx-web1 conf.d]# vim proxy.conf
server {
listen 80;
server_name localhost;
charset koi8-r;
access_log /var/log/nginx/host.access.log main;
location / {
proxy_pass http://192.168.246.146:8080; #(tomcat-server IP)
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /index.php {
proxy_pass http://192.168.246.147:80; #(PHP-server IP)
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
nginx-web2 :
[root@nginx-web2 ~]# cd /etc/nginx/conf.d/
[root@nginx-web2 conf.d]# mv default.conf default.conf.bak
nginx-web1 proxy.conf nginx-web2
[root@nginx-web1 conf.d]# scp proxy.conf 192.168.246.145:/etc/nginx/conf.d/ #(nginx-web2 IP)
nginx
[root@nginx-web1 ~]# systemctl start nginx
[root@nginx-web2 ~]# systemctl start nginx
STEP 3: tomcat 서비스 배치
1. jdk 설치
jdk 1.8 을 서버 에 업로드 합 니 다.jdk 설치 [root@tomcat-server ~]#
tar xzf jdk-8u191-linux-x64.tar.gz -C /usr/local/
[root@tomcat-server ~]# cd /usr/local/
[root@tomcat- server local] \ # mv jdk1.8.0_191/ java
환경 변수 설정: [root@tomcat- server local] \ # vim /etc/profile
export JAVA_HOME=/usr/local/java
\ # 자바 설치 디 렉 터 리 export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
\ # 자바 시스템 에서 명령 을 찾 는 경로 export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
\ # 클래스 의 경 로 를 지정 합 니 다. 자바 프로그램 을 컴 파일 할 때,다른 클래스 로 호출 될 때 classpath 에서 필요 한 클래스 를 찾 습 니 다.JDK 설치 성공 여부 확인: [root@tomcat-server local]#
source /etc/profile
[root@tomcat-server local]# java -version
java version “1.8.0_191” Java™ SE Runtime Environment (build 1.8.0_191-b12) Java HotSpot™ 64-Bit Server VM (build 25.191-b12, mixed mode) 2. tomcat 설치
[root@tomcat-server ~]#
mkdir /data/application -p
[root@tomcat-server ~]# cd /usr/src/
[root@tomcat-server src]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.42/bin/apache-tomcat-8.5.42.tar.gz
[root@tomcat-server src]# tar xzf apache-tomcat-8.5.42.tar.gz -C /data/application/
[root@tomcat-server src]# cd /data/application/
[root@tomcat- server application] \ # mv apache-tomcat-8.5.42/ tomcat
환경 변 수 를 설정 합 니 다.[root@tomcat- server application] \ #
vim /etc/profile
\ # 마지막 에 다음 과 같이 추가 합 니 다 export TOMCAT_HOME=/data/application/tomcat
\ # tomcat 의 설치 디 렉 터 리 를 지정 합 니 다 [root@tomcat- server application] \ # source /etc/profile
tomcat 설치 성공 여 부 를 확인 합 니 다: [root@tomcat-server tomcat]# /data/application/tomcat/bin/version.sh
Using CATALINA_BASE: /data/application/tomcat Using CATALINA_HOME: /data/application/tomcat Using CATALINA_TMPDIR: /data/application/tomcat/temp Using JRE_HOME: /usr/local/java Using CLASSPATH: /data/application/tomcat/bin/bootstrap.jar:/data/application/tomcat/bin/tomcat-juli.jar Server version: Apache Tomcat/8.5.42 Server built: Jun 4 2019 20:29:04 UTC Server number: 8.5.42.0 OS Name: Linux OS Version: 3.10.0-693.el7.x86_64 Architecture: amd64 JVM Version: 1.8.0_191-b12 JVM Vendor: Oracle Corporation 3. tomcat 시작
시작 프로그램 \ #
/data/application/tomcat/bin/startup.sh
\ # 시작 닫 기 프로그램 \ # /data/application/tomcat/bin/shutdown.sh
\ # 닫 기tomcat 시작, 브 라 우 저 접근: IP 주소: 8080
4 단계 phop 서비스 배치
1. php
yum php7.1
[root@php-server ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
[root@php-server ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
[root@php-server ~]# yum install php71w-xsl php71w php71w-ldap php71w-cli php71w-common php71w-devel php71w-gd php71w-pdo php71w-mysql php71w-mbstring php71w-bcmath php71w-mcrypt -y
[root@php-server ~]# yum install -y php71w-fpm
[root@php-server ~]# systemctl start php-fpm
[root@php-server ~]# systemctl enable php-fpm
2. nginx
nginx nginx
[root@php-server ~]# cd /etc/yum.repos.d/
[root@php-server yum.repos.d]# vim nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
[root@php-server yum.repos.d]# yum install yum-utils -y
[root@php-server yum.repos.d]# yum install nginx -y
[root@php-server yum.repos.d]# systemctl start nginx
[root@php-server yum.repos.d]# systemctl enable nginx
[root@php-server ~ ]# cd /etc/nginx/conf.d/
[root@php-server conf.d]# cp default.conf default.conf.bak
[root@php-server conf.d]# mv default.conf server.conf
[root@php-server conf.d]# vim server.conf
server {
listen 80;
server_name localhost;
charset koi8-r;
access_log /var/log/nginx/host.access.log main;
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
index.php
[root@php-server conf.d]# cd /usr/share/nginx/html/
[root@php-server html]# vim index.php
<?php
phpinfo();
?>
nginx
브 라 우 저 PHP 서비스 방문: 192.168.246.147 / index. php 테스트 시작:
vip 접근: tomcat 192.168.246.16 \ # (브 라 우 저 는 vip 주 소 를 입력 하고 tomcat 페이지 에 접근 합 니 다)
vip 접근: phop 192.168.246.16: index. php \ # (브 라 우 저 에서 vip 주 소 를 입력 하고 index. php 를 추가 하면 URL 을 인식 하고 PHP 페이지 로 이동) 여기, OK
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.