기업이 클러스터 환경과 웹 사이트를 구축해야 하는 이유는 무엇입니까?
수요 분석:
1. 전체 요구 사항: 일반 네트워크 공격으로부터 높은 동시 요청을 견딜 수 있는 고가용성 웹 서버 클러스터를 구축합니다. 모든 서버의 종료는 전체 클러스터의 작동에 영향을 주지 않으며 각 서버의 실행을 실시간으로 모니터링할 수 있습니다.
2. 상세한 수요 분석:
필요에 따라 다음 토폴로지에 따라 운영 환경을 구축할 계획입니다.
2. 자세한 기능 설명:
1. 프런트엔드 서버는 nginx 를 사용하여 역방향 에이전트 및 로드 밸런싱을 수행하고 keepalive 를 사용하여 HA 를 구현합니다. 이 섹션은 centos 1 및 centos4, centos 1 운영 서버, centos4 가 핫 스페어 서버로 구현됩니다. Nginx 는 서로 다른 IP 기회에 따라 평균 2 개의 백엔드 서버로 요청을 보내 각 IP 의 세션을 IP hash 형식으로 저장합니다.
2. 백엔드 서버는 centos2 와 centos3 에 구축되고, Apache 는 웹 게시 소프트웨어로, MySQL 은 데이터베이스로, 테스트 페이지는 Django 에 의해 구현됩니다. 두 서버의 데이터베이스는 자동으로 동기화될 수 있습니다.
3.centos4 는 핫 스페어 서버로 centos 1 장애 없이 업무 흐름이 없고 상대적으로 유휴 상태입니다. 따라서 NFS 는 CNTOS 4 에서 파일 공유 서버로 구성되고 웹 사이트 파일은 이 서버에 배치됩니다.
4.centos5 는 모니터링 서버로 Nagios 를 실행하여 각 서버의 상태를 모니터링합니다. 경고가 발생하면 경고를 통해 관리자에게 알립니다. 뿐만 아니라, centos5 는 saltstack 의 서버이며, 다른 호스트의 소프트웨어 설치, 파일 전송, 명령 실행 등의 작업은 모두 saltstack 을 통해 대량으로 수행됩니다.
셋. 전체 배포 설명:
1. 모든 서버에 centos6.4 가 설치되어 있습니까? 64 비트 버전, 제화공을 사용하여 배치 자동 설치를 가능하게 합니다.
2. 각 소프트웨어에는 최신의 안정된 버전이 설치되어 있으며, centos 에 포함된 소프트웨어도 업그레이드해야 합니다 (예: python). Centos 에는 더 긴 버전이 포함되어 있어 Django 의 작동에 영향을 줄 수 있습니다.
4. 자세한 배포 설명:
1.nginx 설정
여기서 Nginx 의 역할은 주로 사용자와 서버 간의 캐시 역할을 하는 역방향 에이전트로, 로드 밸런싱으로 두 백엔드 서버에 요청을 전송하는 것입니다.
컴파일 설치를 통해 nginx 를 설치하는 구체적인 절차는 여기에 설명되어 있지 않습니다. 그러나 침입에 더 잘 견딜 수 있도록 컴파일하기 전에 설치 파일을 수정하여 침입자가 nginx 버전 번호를 찾기 어렵게 하는 것이 좋습니다. 설치 파일에서 nginx.h 를 수정하고 관련 필드를 다음과 같이 수정합니다.
NGINX_VERSION? "1.0" NGINX_VER? "웹 서버" NGINX_VERSION
Nginx 구성 파일은 다음과 같습니다.
2 12800
Default_type? 애플리케이션/옥텟 영역 = 20;
Send _ timeout 20
클라이언트 _ 본문 _ 버퍼 _ 크기1k;
클라이언트 _ 헤더 _ 버퍼 _ 크기1k;
Large _ client _ header _ buffers21k; -응?
Server_tokens 종료;
Client _ body _ timeout 20
Client _ header _ timeout 20?
Ip _ hash?
서버10.0.0.3; -응?
서버10.0.0.280///100; -응?
Limit _ rate 500k500 502 503 504? /=/
백엔드 테스트 페이지는 Django 로 작성되었기 때문에 nginx 는 PHP 와 같은 동적 웹 페이지의 요청을 처리할 필요가 없습니다.
설정이 완료되면 nginx 를 boot 로 설정하여 다음을 수행할 수 있습니다.
Echo "/usr/local/nginx/sbin/nginx" > & gt/etc/rc. 로컬
2. 활성 설정을 유지합니다
Keeplive 의 역할은 두 서버 (centos 1 및 centos4) 간에 VRRP 프로토콜을 사용하는 HA 를 구현하는 것입니다. 가상 IP (이 경우 192. 168.00.000) 를 만들어 비즈니스를 게시합니다. 두 서버 중 하나에 장애가 발생하면 keeplive 는 자동으로 업무를 다른 서버로 이동합니다. 여기서 centos 1 은 운영 서버이고 centos4 는 대기 서버입니다. 평소 데이터 트래픽은 centos 1 을 통해서만 이루어지며, centos 1 이 반환될 때만 centos4 로 잘립니다.
Centos 1 의 활성 구성:
! 설정 파일 @ test.com @127.0.0.130
가상 _ 라우터 _ id 51192.168.48.139?
우선 순위 100
Advert_int 1? 1111192.168.48./
슬레이브 서버 centos4 의 경우 위 구성 파일 중 일부만 수정해야 합니다.
192.168.48.14090
마찬가지로 구성 파일을 구성한 후 keepalive 를 부트에 추가합니다.
Keepalive 의 경우 VRRP 프로토콜은 피어가 온라인 상태인지 확인하는 데 사용되므로 피어가 핑 (ping) 이 가능한 한 피어가 온라인 상태라고 간주합니다. 그러나 피어 서버가 다운되지 않았지만 nginx 가 잘못 종료된 경우도 있습니다. 이 경우에도 keepalive 는 피어가 온라인 상태라고 판단하며 대기 서버에 대한 서비스를 차단하지 않습니다. 따라서 nginx 프로세스의 상태를 모니터링하기 위해 서버에서 스크립트를 실행해야 합니다. Nginx 프로세스가 종료되면 먼저 nginx 를 다시 시작해 보십시오. 재부팅할 수 없는 경우 keepalive 프로세스를 종료하고 업무를 대체 측으로 전환합니다.