>  기사  >  운영 및 유지보수  >  Centos7+Nginx+Tomcat8을 기반으로 로드밸런싱 서버를 구축하는 방법

Centos7+Nginx+Tomcat8을 기반으로 로드밸런싱 서버를 구축하는 방법

PHPz
PHPz앞으로
2023-05-26 11:43:131560검색

nginx를 수동으로 설치한 후 모든 것이 정상이며 가상 호스트 구성 및 로드 밸런싱에 문제가 없습니다. 성공적으로 활성화되었습니다.

conf의 nginx.conf 파일에 다음을 추가하여 향후 쉽게 구성할 수 있도록 vhost 디렉토리에 모든 .conf 파일을 추가합니다. 물론, 필요하다면 하나씩 추가할 수도 있습니다.

로드 서비스는 api 서비스이므로 여기서 conf 파일 이름은 api.xxx.com.conf라고 합니다. 파일 열기 구성은 다음과 같습니다.

Centos7+Nginx+Tomcat8을 기반으로 로드밸런싱 서버를 구축하는 방법

이 경우 IP 폴링 방법은 다음과 같습니다. 사용되지는 않지만 IP 폴링 방식이 사용됩니다. 그 중 하나는 usstream 방식입니다. 이들 방식의 구체적인 차이점은 Baidu 또는 Google에서 관련 소개를 검색할 수 있습니다. 여기서는 Proxy_pass가 업스트림 이름으로 구성되어 있으며, 그 외의 IP 주소를 직접 구성하면 로드 밸런싱이 이루어지지 않습니다.

중량으로 표시되는 가중치는 숫자가 클수록 가중치가 높을수록 백업 할당 가능성이 높아지는 핫 스탠바이 서버, 즉 처음 두 개의 로드에 문제가 있는 경우 핫 스탠바이 서버를 나타냅니다. 자동으로 이러한 방문에 대한 책임을 지게 됩니다.

이제 nginx 로드 밸런싱 컨피규레이터의 구성이 완료되었으나, 부하가 걸리기 때문에 일반 URL이라면 접속 시 세션 손실이 발생하므로 이때 세션 손실 문제는 반드시 발생합니다. 이 문제에 대한 해결책은 여러 가지가 있는데, 하나는 쿠키를 프록시로 사용하는 것이고, 다른 하나는 세션 공유를 사용하는 것입니다. 여기에서 이 요구 사항을 달성하십시오. 구성된 세션 공유 서버는 주로 데이터의 효율적인 읽기 및 저장을 보장하기 위한 redis 메모리 서비스입니다. 세션 공유를 위해 redis를 사용할 때 다음 이름을 추가해야 합니다.

Centos7+Nginx+Tomcat8을 기반으로 로드밸런싱 서버를 구축하는 방법이 패키지는 질문 없이 tomcat8을 지원합니다. 다른 버전의 구체적인 지원 상태와 관련하여 관련 테스트가 수행되지 않았습니다.

그런 다음 tomcat에서 구성 파일을 수정합니다.

Centos7+Nginx+Tomcat8을 기반으로 로드밸런싱 서버를 구축하는 방법

여기에 표시된 10.0.0.x의 주소는 모두 내부 네트워크에서 완료됩니다. 외부 네트워크에는 로드를 담당하는 서버만 직접 연결되어 있습니다. 외부 네트워크에.

이때 Tomcat 서버와 nginx 서버가 원활하게 시작될 수 있지만 그 전에 nginx 서버가 먼저 시작되어야 하며 그렇지 않으면 tomcat 시작에 실패할 수 있습니다. nginx 서비스를 원활하게 시작할 수 있습니다

세 가지 구성은 다음과 같습니다.

nginx.conf에 추가된 참조 내용

include vhost/*.conf;

로드 밸런싱 구성:

upstream api.xxx.com {
 server 10.0.0.12:8080 weight=5;
 server 10.0.0.15:8081 weight=5 ;
 server 10.0.0.16:8080 weight=5 backup;
}
server {
 listen    80;
 server_name api.xxx.com;
 location /
  {
   proxy_set_header host $host;
   proxy_set_header x-real-ip $remote_addr;
   proxy_set_header x-forwarded-for $remote_addr;
   proxy_pass http://api.xxx.com;
    }
}

tomcat 구성

<valve classname="com.radiadesign.catalina.session.redissessionhandlervalve" />
<manager classname="com.radiadesign.catalina.session.redissessionmanager" 
       host="10.0.0.16" 
       port="10000" 
       database="0" 
       maxinactiveinterval="60" />

위 내용은 Centos7+Nginx+Tomcat8을 기반으로 로드밸런싱 서버를 구축하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제