Nginx 의 사용 과정 에서 발생 한 문제 와 해결 방안 을 정리 합 니 다.

3311 단어
Nginx 를 시작 할 때 이러한 오류 가 발생 할 수 있 습 니 다.
 
  
[emerg]: could not build the proxy_headers_hash, you should increase either proxy_headers_hash_max_size: 512 or proxy_headers_hash_bucket_size: 64

 해결 방법 은 설정 파일 에 다음 설정 항목 을 추가 하 는 것 입 니 다.
 
  
proxy_headers_hash_max_size 51200;
proxy_headers_hash_bucket_size 6400;

 이 두 설정 항목 의 size 는 시스템 백 엔 드 에서 보 낸 header 에 따라 설정 합 니 다.
주: 기본 값 이면 위 에서 처럼 오류 가 발생 합 니 다.  질문
Nginx 를 사용 하 는 과정 에서 Nginx 로 컬 에서 캐 시 를 사 용 했 기 때문에 정적 자원 이 발 표 된 후 CDN 이 원본 으로 돌아 갈 때 제대로 되 돌아 오지 않 은 것 을 발 견 했 습 니 다. 조 회 를 통 해 Nginx 로 컬 에 캐 시가 있 는데 캐 시 를 새로 고 치 는 이유 가 있 는 지 확인 되 었 습 니 다. 이 캐 시 를 새로 고 치 려 면 Purge 모듈 을 설치 할 수 있 습 니 다.
Nginx 의 캐 시 설정:
 
  
location /
      {
       proxy_cache cache_go;
       proxy_cache_valid 200 304 1d;
       proxy_cache_key $host$uri$is_args$args;
       proxy_set_header Host  $host;
       proxy_set_header X-Forwarded-For  $remote_addr;
       proxy_pass http://127.0.0.1:8800;
       expires      3024010s;

       }

       location ~ /purge(/.*)
       {
        # IP IP URL 。
        allow            127.0.0.1;
        deny             all;
        proxy_cache_purge    cache_go   $host$1$is_args$args;
       }


 Purge 모듈 은 캐 시 를 지 우 는 데 사 용 됩 니 다. 우선 Puerge 모듈 을 다운로드 하 십시오.
Purge 모듈 다운로드: wgethttp://labs.frickle.com/files/ngx_cache_purge-1.2.tar.gz
 압축 풀기: tar - zxvf ngxcache_purge-1.2.tar.gz
 컴 파일 하기 전에 다음 명령 을 사용 하여 nginx 의 컴 파일 옵션 을 보십시오.
 
  
/home/nginx/sbin/nginx -V
nginx version: xxxx
TLS SNI support enabled
configure arguments: --prefix=/home/nginx-1.2.8 --with-pcre=../pcre-8.31 --with-zlib=../zlib-1.2.3 --with-openssl=../openssl-1.0.0d --with-http_ssl_module --with-http_stub_status_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --add-module=../ngx_cache_purge-1.5 --add-module=../perusio-nginx-http-concat-321e344 --add-module=../ngx_http_vipshop_hostname_filter --with-ld-opt=-static

 위 에 제 컴 파일 은 puerge 모듈 이 있 습 니 다. 제 가 컴 파일 을 했 기 때 문 입 니 다. 그리고 기 존의 컴 파일 매개 변수 뒤에 다음 을 추가 합 니 다.
 
  
--add-module=/home/ngx_cache_purge-1.5

 Nginx 를 종료 하고 다시 시작 합 니 다:
 
  
./nginx -s quit
./nginx

 Puerge 설정:
 
  
location ~ /purge(/.*)
       {
        # IP IP URL 。
        allow            127.0.0.1;
        deny             all;
        proxy_cache_purge    cache_go   $host$1$is_args$args;
       }

 Nginx 캐 시 방식 을 잘 알 고 있 습 니 다. 예 를 들 어 url 은?http://test.com/test/test.js  이 js 캐 시 를 지 우 는 명령 은 다음 과 같 습 니 다.
 
  
curl http://test.com/purge/test/test.js

 통용 되 는 방식 은:
 
  
curl http://test.com/purge/uri

 그 중 에 uri 가 당신 의 URL 입 니 다. "http://test.com/test/test.js'의' test / test. js' 부분 입 니 다.

좋은 웹페이지 즐겨찾기