메뉴 건너뛰기

조회 수 232 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

지난 한 편의 블로그 중 간단한 소개 Nginx 및 Tomcat 통합 사용, 그러나 또 일부 역사적으로 문제는 아직 언급'title= . 이 글은 블로그 간단한 소개 것이다 Nginx 대리 캐시 및 사용 많은 대 Tomcat 서버 진행 부하 균형.

 

<한 >. 대리 데이터 저장 목록: 키스 'title=' 키스

 proxy_temp_path  /software/proxy_temp;

      설명: 대리 임시 디렉터리, 존재 http 범위, nginx 대리 데 쓸 때 저장 및 백엔드 서버 대해 상호 관련 자료,   만약 프론트엔드 사용자 요청 백엔드 서버 응답, 기본 위치 nginx 위해 설치 경로 아래/proxy_temp.

 proxy_cache_path  /software/proxy_cache levels=1:2 keys_zone=cache_web:16m inactive=1h max_size=512m;

      설명: 대리 캐시 디렉토리 존재 http 범위, nginx 진행 웹 캐시 할 때 는 정적 커서 캐시 다 nginx 현재 있는 기계.

  1.   proxy_temp_path 및 proxy_cache_path 반드시 지정 같은 파티션.

  2.   매개 변수 levels=1:2   지정한 캐시 공간 2급 hash 디렉터리를 첫 번째 단계 1 글자 위해 두 번째 급 을 2 개 문자, 예컨대/7/c2.

  3. 매개 변수keys_zone=cache_web:16m  사용자 저장 key 및 메타데이터 캐시 간격, 명명되었다 cache_web, 16m 크기.  

  4.   매개 변수 inactive=1h   만약 자원 지금 1h 안에 아직 의해 요청 캐시 지우기 지역 에서 부터.

  5.   매개 변수 max_size=512m   로컬 캐시 크기 지정 공간, 만약 자원 지나치게 방대하다 때 에 대한 제거 LRU 알고리즘.

 

<두 >. 정의 서버 클러스터: 대소하다 'title=' 웃다

 upstream blog_server_cluster {
     server  192.168.142.56:8080 weight=1 max_fails=2 fail_timeout=30s;
     server  192.168.142.78:8080 weight=2 max_fails=2 fail_timeout=30s;
     server  192.168.142.91:8080 weight=2 max_fails=2 fail_timeout=30s;
 }

        설명: 존재 http 범위, 같은 팀 서버 서로 진행 부하 균형.
    1. weight   각 서버 가중치 지정합니다. 기본값은 1, 가중치 더 큰 처리 부하 있다.
  2. max_fails   지정한 요청이 실패한 횟수, 큼 이 횟수 때 nginx 서버 사용 불가능 상태 에 생각한다.
  3. fail_timeout   실패 요청 시간, 크다, 이 시간에 nginx 생각에 이번 요청 실패.

 

<세 >. 설정 웹 캐시: 미소 'title=' 미소

 proxy_cache  cache_web;
 proxy_cache_key  $host$uri$is_args$query_string;

 proxy_cache_valid  200 304 1d;
 proxy_cache_valid  301 302 1m;
 proxy_cache_valid  any 1m;

      설명: 웹 캐시, 존재 location 범위 를 백엔드 서버 정적 자원 캐시 다 nginx 있는 로컬 기계.
  1. proxy_cache   지정 상술한 정의 버퍼 영역.
  2. proxy_cache_key   지정한 캐시 사용할 key 그룹 문자열, 그리고 쓰는 md5 진행 암호화.
     $호스트 host   예를 www.excelsoft.com.
     $우리 집   요청 프로젝트 내부 경로 같다./user/list.jsp.
     $is_args   있으면 요구 파라미터 侧视? 기호, 그렇지 않으면 비어 문자열"".
     $query_string   요구 파라미터 문자열.
  3.   proxy_cache_valid   다른 상태 코드 URL 설정 캐시 대해 다른 시간(1d/1h/1m).

 

<네 >. http 상태 코드: status code'title=

  1. 2xx: success
      200   요청 성공 [Ok]
  2. 3xx: redirect 
        301   요청 자원 의해 제거 까지 새로운 위치, 새로운 URI 는 응답 없는 Location 필드 중 복귀   [Moved Permanently]
        302   요청 자원 임시 에서 다른 URI 진행 응답   [Found]
        304   중복 요청 이 응답 메시지 본문     포함하지 [Not Modified]
  3. 4xx: request error
        404   요청 자원을 서버에   찾지 못했다 [Not Found]
요청한 자원         403   찾을 수 없습니다. 하지만   접근할 수 없다 [Forbidden]
  4. 5xx: server error
        500   프로그램 오류, 서버   처리할 수 없습니다. [Internal Server Error]
        502   오류 게이트웨이 내부 네트워크 연결 설정 정확하지 않거나 현재 서버 있어 처리 연결 너무 많이, ~ 에 이르기 까지 연결 시간   [Bad Gateway]

 

        지금까지 이미 비교적 전면적인 소개 Nginx 쓸 역방향 프록시 및 부하 균형 있는 많은 지식 을 할 수 있 는 전체적으로 대한 설정 파일 하나가 정확히 파악이 위해서 아래에 nginx.conf 주어진 파일 내용을 상세히눈 깜짝할 사이 , 구체적인 세부 할당할 수 전에 몇 편의 블로그:


user  nick excelsoft;

worker_processes  2;

error_log  /opt/nginx/logs/error.log notice;

pid  /opt/nginx/logs/nginx.pid;

worker_rlimit_nofile  65535;

events {
    use  epoll;
    worker_connections  65535;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    charset  utf-8;

    log_format  access '$remote_addr - $remote_user [$time_local] "$request" '
                       '$status $body_bytes_sent "$http_referer" '
                       '"$http_user_agent" "$http_x_forwarded_for" '
                       '"$sent_http_content_type" "$request_time"';

    access_log  /opt/nginx/logs/access.log access;

    sendfile  on;
    tcp_nopush  on;
    tcp_nodelay  on;
    keepalive_timeout  65;
   
    gzip  on;
    gzip_min_length  1k;
    gzip_buffers  8 32k;
    gzip_http_version  1.1;
    gzip_comp_level  3;
    gzip_types  text/plain text/css text/javascript application/x-javascript application/xml;
    gzip_vary  on;

    server_names_hash_bucket_size  128;
    client_header_buffer_size  32k;
    large_client_header_buffers  4 32k;
    client_max_body_size  100m;
    client_body_buffer_size  128k;

    proxy_connect_timeout  90;
    proxy_read_timeout  90;
    proxy_send_timeout  90;

    proxy_buffer_size  16k;
    proxy_buffers  4 32k;
    proxy_busy_buffers_size  64k;
    proxy_temp_file_write_size  128k;

    proxy_temp_path  /software/proxy_temp;
    proxy_cache_path  /software/proxy_cache levels=1:2 keys_zone=cache_web:16m inactive=1h max_size=512m;

    upstream blog_server_cluster {
        server  192.168.142.56:8080 weight=1 max_fails=2 fail_timeout=30s;
        server  192.168.142.78:8080 weight=2 max_fails=2 fail_timeout=30s;
        server  192.168.142.91:8080 weight=2 max_fails=2 fail_timeout=30s;
    }

    server {
        listen       80;
        server_name  www.excelsoft.com;

        location / {
            proxy_pass  http://blog_server_cluster;

            proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

            index  index.html index.htm index.jsp index.do;
            access_log  /opt/nginx/logs/access.excelsoft.log access;
        }

        location ~* \.(gif|jpg|jpeg|png|bmp|swf)$ {
            proxy_pass  http://blog_server_cluster;
          
            proxy_cache  cache_web;
            proxy_cache_key  $host$uri$is_args$query_string;

            proxy_cache_valid  200 304 1d;
            proxy_cache_valid  301 302 1m;
            proxy_cache_valid  any 1m;

            expires  15d;
            access_log  off;
        }

        location ~ \.(js|css)$ {
            proxy_pass  http://blog_server_cluster;

            proxy_cache  cache_web;
            proxy_cache_key  $host$uri$is_args$query_string;

            proxy_cache_valid  200 304 1d;
            proxy_cache_valid  301 302 1m;
            proxy_cache_valid  any 1m;

            expires  1h;
            access_log  off;
        }
    }

    server {
        listen       80;
        server_name  static.excelsoft.com;

        root  /software/static;
        access_log  off;

        location ~* \.(gif|jpg|jpeg|png|bmp|swf)$ {
            expires  15d;
        }

        location ~ \.(js|css)$ {
            expires  1h;
        }
    }
}


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
25 NGINX nginx location 설정 맨하탄노숙자 2016.02.18 183
24 NGINX nginx 파일 공유 및 암호 설정하기 맨하탄노숙자 2016.02.18 352
23 NGINX nginx에서 동영상 스트리밍 서비스하기 맨하탄노숙자 2016.02.18 145
22 NGINX Nginx Tuning For Best Performance 맨하탄노숙자 2016.02.10 85
21 NGINX NGINX Load Balancing – TCP Load Balancer 맨하탄노숙자 2016.01.28 147
20 NGINX Build ngx_pagespeed From Source 맨하탄노숙자 2016.01.19 65
19 NGINX Nginx, FastCGI 맨하탄노숙자 2016.01.16 396
18 NGINX Nginx 설정 예제 (nginx.conf) 맨하탄노숙자 2016.01.16 242
17 NGINX Nginx의 오픈 파일 캐시 맨하탄노숙자 2016.01.16 195
» NGINX Nginx 의 Proxy cache 대리 캐시 및 부하 균형 똑바로 맨하탄노숙자 2016.01.16 232
15 NGINX nginx Proxy Cache 맨하탄노숙자 2016.01.16 56
14 NGINX 우분투 NGINX(엔진엑스) Configure 옵션 맨하탄노숙자 2016.01.16 182
13 NGINX 502 Bad Gateway 해결법 맨하탄노숙자 2016.01.16 553
12 NGINX Response Headers에 서버정보 숨기기 맨하탄노숙자 2016.01.16 80
11 NGINX Geo module 이용한 아이피별 분류 처리 맨하탄노숙자 2016.01.16 37
10 NGINX sub_filter 이용한 HTML 내에 태그값 변경 맨하탄노숙자 2016.01.16 57
9 NGINX Nginx Cache(캐쉬) 설정관련 참고 맨하탄노숙자 2016.01.16 70
8 NGINX Tools: ngxtop - real-time metrics for nginx server (and others) 맨하탄노숙자 2016.01.11 46
7 NGINX ngxtop python 맨하탄노숙자 2016.01.11 24
6 NGINX <PYTHON>[pip 설치] 맨하탄노숙자 2016.01.11 137
Board Pagination Prev 1 ... 2 Next
/ 2