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' 부분 입 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.