nginx 부하 균형 설정 전재 및 친 측

Nginx 부하 이퀄 라이저 의 장점 이 많 습 니 다. 간단하게 요약 하면:
① 신축성 있 는 구 조 를 실현 하고 압력 이 커지 면 tomcat 서버 를 임시로 추가 하여 이 구조 에 추가 할 수 있다.
② upstream 은 부하 균형 능력 을 가지 고 아래 의 기 계 를 자동 으로 판단 할 수 있 으 며 정상적으로 서 비 스 를 제공 하지 못 하 는 기 계 를 자동 으로 차 낼 수 있다.한편, Keepalvied 는 하나의 nginx 부하 이퀄 라이저 의 유효성 을 확보 하고 단일 고장 을 피 할 수 있 습 니 다.
IP 주소
nginx (주 부하 균형 기): 192.168.18.118 nginx (부하 균형 기 에서): 192.168.1.120 VIP 주소: 192.168.1.108 web1 의 IP: 192.168.18.105 web2 의 IP: 192.168.18.117 web3 의 IP: 192.168.1.121
전체 환경 을 배치 하 는 데 사용 되 는 소프트웨어 는 다음 과 같다.
1.            nginx-0.7.17.tar.gz  
    
2.            prce-7.7.tar.gz 
    
3.            mysql
    
4.            php
    

① 먼저 tomcat 호스트 3 대 에 환경 을 배치 하고 nginx + phop + my sql 을 설치 하 며 구체 적 인 절 차 는 다음 과 같다.
대략.
② nginx 부하 이퀄 라이저 2 대 에 각각 nginx 및 설정 설치
다운로드 및 설치 nginx:
1.            wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.7.tar.gz  
    
2.            tar zxvf pcre-7.7.tar.gz  
    
3.            cd pcre-7.7/  
    
4.            ./configure  
    
5.            make && make install  
    
6.            wget http://sysoev.ru/nginx/nginx-0.7.17.tar.gz  
    
7.            tar zxvf nginx-0.7.17.tar.gz  
    
8.            cd nginx-0.7.17/  
    
9.            ./configure --prefix=/usr/local/nginx --with-http_stub_status_module  
    
10.        make && make install 
    

   
     
   

여기에 nginx. conf 설정 파일 을 붙 여 놓 았 습 니 다. 설명 없 이 X - shell 로 직접 붙 여 넣 기 편 합 니 다. 인성 화 된 오:) 두 nginx 부하 이퀄 라이저 파일 과 마찬가지 로 설정 이 완료 되면 각각 / usr / local / nginx / sbin / nginx 로 시작 합 니 다.
 
user www www;
worker_processes 1;
pid /usr/local/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;
events
{
use epoll;
worker_connections 51200;
}
http{
include       mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 8m;
sendfile on;
tcp_nopush     on;
keepalive_timeout 60;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
gzip on;
gzip_min_length 1k;
gzip_buffers     4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types       text/plain application/x-javascript text/css application/xml;
gzip_vary on;
upstream backend
{
server 192.168.18.117;
server 192.168.18.105;
server 192.168.1.121;
}
server {
listen 80;
server_name test.com www.test.com;
location / {
root /usr/local/nginx/www ;
index index.jsp index.htm index.html;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://backend;
}
 
#location /nginx {
#access_log on;
#auth_basic "NginxStatus";
#auth_basic_user_file /usr/local/nginx/htpasswd;
#}
log_format access '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
access_log /usr/local/nginx/logs/access.log access;
}
}
 
③ 두 대의 Nginx 기기 에 keepalived 를 설치 하고 배치 하 며 두 기계 로 서로 준비 합 니 다.
1.            #wget http://www.keepalived.org/software/keepalived-1.1.15.tar.gz  
    
2.            #tar zxvf keepalived-1.1.15.tar.gz  
    
3.            #cd keepalived-1.1.15  
    
4.            #./configure  
    
5.            #make  
    
6.            #make install  
    
7.             keepalived      ,    :  
    
8.            #cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/  
    
9.            #cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/  
    
10.        #mkdir /etc/keepalived  
    
11.        #cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/  
    
12.        #cp /usr/local/sbin/keepalived /usr/sbin/  
    
13.        #service keepalived start|stop 
    

Nginx 두 대 에 keepalived. conf 설정 파일 을 각각 붙 였 습 니 다. 설정 이 끝 난 후 각각 service keepalived start 로 시작 합 니 다.
1.            ip avrrp_instance VI_INET1 {  
    
2.                    state MASTER  
    
3.                    interface eth0  
    
4.                    virtual_router_id 53  
    
5.                    priority 200  
    
6.                    advert_int 1  
    
7.                    authentication {  
    
8.                            auth_type pass  
    
9.                            auth_pass yourpass  
    
10.                }  
    
11.                virtual_ipaddress {  
    
12.                        192.168.1.108  
    
13.                }  
    
14.        }  
    
15.         
    
16.        vrrp_instance VI_INET1 {  
    
17.                state BACKUP  
    
18.                interface eth0  
    
19.                virtual_router_id 53  
    
20.                priority 100  
    
21.                advert_int 1  
    
22.                authentication {  
    
23.                        auth_type pass  
    
24.                        auth_pass yourpass  
    
25.                }  
    
26.                virtual_ipaddress {  
    
27.                        192.168.1.108  
    
28.                }  
    
29.        
    

상기 세 단계 에서 nginx 부하 균형 설정 을 완성 한 후에 검 측 된 것 입 니 다. 여러분 은 그 중의 한 대의 모든 서 비 스 를 임의로 중단 할 수 있 습 니 다.정상 적 인 결과 에서 여러분 은 그 중에서 임의의 서버 가 다운 된 후에 전체 시스템 의 운영 에 영향 을 주지 않 는 다 는 것 을 발견 해 야 합 니 다.

좋은 웹페이지 즐겨찾기