Nginx 의 기능 정책 설정 을 자세히 설명 합 니 다.

Nginx 는 경량급 HTTP 서버 로 서 성능 적 으로 자원 을 적 게 차지 하고 다 중 동시 다발 을 지원 합 니 다. 기능 적 으로 프 록 시 서버 는 부하 균형 에 사용 할 수 있 고 설정 이 간단 하고 유연 합 니 다!자신의 최근 문 서 를 정리 하고 준비 한 후에 사용 합 니 다. 여 기 는 기능 실현 의 기초 설정 에서 만 설명 합 니 다.
부하 균형 (배포 서버 만 들 기)
1. 브 라 우 저 기반 배포
브 라 우 저의 배 포 를 바탕 으로 서로 다른 플랫폼 의 브 라 우 저 요청 에 따라 배 포 됩 니 다. 예 를 들 어 모 바 일 브 라 우 저 는 자원 의 작은 속도 로 데 이 터 를 절약 하 는 것 을 중시 하기 때문에 모 바 일 브 라 우 저의 요청 을 모 바 일 플랫폼 을 처리 하 는 웹 서버 에 배포 하고 PC 에서 웹 페이지 를 조회 할 때 체험 을 중시 하기 때문에 IE 브 라 우 저의 요청 을 PC 플랫폼 을 처리 하 는 서버 에 배포 합 니 다.이렇게 하면 서로 다른 플랫폼 에 있 는 사용자 들 이 자신 에 게 맞 는 체험 을 할 수 있 습 니 다!
여러 upstream 추가
vim /usr/local/nginx/conf/nginx.con
upstream    web {
    ip_hash;
    server 192.168.1.10
    }
upstream    apache {
    ip_hash;
    server 192.168.1.11
    }

server 를 정의 할 때 location 규칙 판단
server{
listen        80;
server_name   192.168.1.100;   (    )
location/ {
          if( $http_user_agent ~* Elinks ) {
        proxy_pass http://web; #  Elinks      ,  web                   
}
          if( $http_user_agent ~* Mozilla ) {
        proxy_pass http://apache;
#  Mozilla         ,  apache  ,IE      Mozilla
}     
}
}

2. 개발 언어 기반 배포
여기 서 언어 환경 배 치 를 개발 하고, 이 글 을 잘 봐 주세요 "http://cuimk.blog.51cto.com/6649029/1335770”
흔히 볼 수 있 는 개발 언어의 접미사 인 aspspx php jsp html 는 서로 다른 언어 개발 프로그램 을 특정한 언어 환경 에 맡 기기 위해 Nginx 의 location 규칙 을 실현 할 수 있 습 니 다.
같은 서버 를 정의 할 때 location 규칙 판단
location~* \.php$ {
        proxy_pass http://192.168.1.250; #  php   ,   250
}                       
location ~* \.jsp$ {
        proxy_pass http://192.168.1.251;  #  jsp   ,   251
}
location / {
        root html
        index index.html;     #     ,    
}

3. 소스 주소 기반 배포
모 바 일 사 이 트 를 연결 하 는 것 처럼 들 어가 면 볼 수 있 습 니 다. 당신 이 들 어 가 는 페이지 는 당신 이 있 는 도시 의 페이지 입 니 다. 안의 정 보 는 대부분 당신 이 현지에서 탈퇴 한 활동 입 니 다. 이것 은 바로 그들 이 당신 의 IP 주 소 를 근절 하여 현재 있 는 위 치 를 알 게 한 다음 에 해당 하 는 서버 에 요청 을 전달 하 는 것 입 니 다.
우선 Nginx 는 geoip 모듈 이 필요 하기 때문에 컴 파일 추가
./configure�Cwith-http_geoip_module

우선 여러 upstream 을 정의 합 니 다.
upstream bj.server{
        ip_hash;
        server 192.168.1.251  #  bj IP      
}
upstream sh.server {
        ip_hash;
        server192.168.1.251   #  sh IP      
}
upstream default.server {
        ip_hash;
        server 192.168.1.100  #            
}

IP 라 이브 러 리 정의
geo$geo {
         default default;
         192.168.18.0/24 bj;
         192.168.17.0/24 sh;   #  bj sh IP 
}

server 에 loscation 규칙 추가
location/ {
           proxy_pass http://$geo.server$request_uri
}

이렇게 하면 서로 다른 IP 에 대해 IP 라 이브 러 리 와 일치 하여 어느 지역 에 속 하 는 지 보고 목적 성 있 게 요청 을 나 누 어 줍 니 다.
4. 기본 IP 폴 링 배포
설정 이 매우 간단 하여 RS 두 대 를 실험 하 였 다.
RS 를 upstream 에 정의 합 니 다.
vim /usr/local/nginx/conf/nginx.conf
upstream web {
             ip_hash;
              server       192.168.18.250;   
              server       192.168.18.251;   #  RS
}

server 를 정의 할 때 접근 하 는 모듈 을 지정 합 니 다. 여러 대의 기계 가 기본 폴 링 으로 접근 합 니 다. 당연히 방문 권한 을 사용자 정의 할 수 있 습 니 다.
server {
        listen        80;           #  80  
        server_name   localhost;    #  
        location/ {
        proxy_pass http://web;      #  ,   
}
}

저 는 upstream 을 정의 할 때 'ip hash' 라 는 말 을 추 가 했 습 니 다. 여 기 는 알고리즘 입 니 다. ip 해시 알고리즘 을 사용 하여 같은 채널 에서 온 명확 함 을 백 엔 드 같은 RS 에 만 맡 기 고 알고리즘 이 많 습 니 다. 구 글 에서 알 아 볼 수 있 습 니 다.
속도 제한 설정
속도 제한 도 location 규칙 을 통 해 이 루어 집 니 다.
우선 http 에서 최대 대역 폭 을 지정 해 야 합 니 다 (예 를 들 어 10M)
limit_zoneone $binary_remote_addr     10M;

그리고 server 에 location 규칙 을 추가 합 니 다.
location/ {
          root               html;
          index              index.html index.htm;
          limit_rate         10k;        #    
          limit_rate_after   100k;       #           
          limit_connone 2;               #  IP        
}

도 난 방지 체인 설정
도 난 방지 체인 원리 도 location 규칙 을 통 해 이 루어 진다.
1. 지정 한 파일 의 도 난 방지 체인
location~*.(gif|jpg|png|swf|flv)$  {       #                                              
             root/usr/local/nginx/html;
             valid_referersnone blocked baidu.com;  #   baidu  
              if($invalid_referer) {
        rewrite ^/ http://192.168.1.241/1.jpg;  #           
}
}

2. 디 렉 터 리 에 대한 도 난 방지
location /images/ {
    alias /data/images/;
    valid_referers none blocked server_names *.xok.la xok.la ;
    if ($invalid_referer) {return 403;}
}

그리고 ngx 를 통 해http_accesskey_module 모듈 은 도 난 방지 체인 을 실현 하여 비교적 적 게 사용한다.
미완이다

좋은 웹페이지 즐겨찾기