nginx 기반 캐 시 기능 구현
캐 시 데 이 터 는 두 부분 으로 나 뉜 다 (색인, 데이터).
1. 데 이 터 를 저장 하 는 색인 을 메모리 에 저장 합 니 다.
2. 캐 시 데 이 터 를 저장 하고 디스크 공간 에 저장 합 니 다.
Nginx 캐 시 구현 은 프 록 시 캐 시 pxorycache, 이것 도 ngxhttp_proxy_module 모듈 에서 제공 하 는 기능 입 니 다. 여기 설정 옵션 이 많 습 니 다. 자주 사용 하 는 옵션 은 proxy 입 니 다.cache_path、proxy_cache、proxy_cache_valid。
1、proxy_cache_path
proxy_cache_path 는 캐 시 데이터 의 디스크 경로, 색인 에 저 장 된 메모리 공간, 캐 시 삭제 정책 과 같은 완전한 캐 시 공간 을 정의 합 니 다.
이 옵션 은 http 블록 컨 텍스트 에 만 정의 할 수 있 습 니 다.
예 를 들 어, proxycache_path /data/cache levels=1:2 keys_zone=web:10m max_size=1G inactive=10;
캐 시 데 이 터 는 / data / cache 디 렉 터 리 에 저 장 됩 니 다.
levels: 이 디 렉 터 리 아래 에 두 개의 디 렉 터 리 를 나 누 어 설정 합 니 다. 한 층 에 한 개의 무 작위 문 자 를 이름 으로 하고, 두 층 에 두 개의 무 작위 문 자 를 이름 으로 합 니 다. levels 는 최대 3 층, 한 층 에 두 개의 문 자 를 더 합 니 다. 이것 은 파일 에 접근 하 는 속 도 를 가속 화하 기 위해 서 입 니 다.마지막 으로 프 록 시 url 의 해시 값 을 키워드 와 파일 이름 으로 사용 합 니 다.
keys_zone: 이 캐 시 영역 이름 을 짓 고 크기 를 설정 합 니 다.이름 을 웹 으로 지정 합 니 다. 이 이름 뒤에 proxycache 참조 필요;10m 는 메모리 공간의 크기 이다.
max_size: 최대 캐 시 데이터 디스크 공간의 크기 지정 하기;
inactive: inactive 가 지정 한 시간 내 에 접근 하지 않 은 캐 시 데 이 터 는 캐 시 에서 삭 제 됩 니 다.
2、proxy_cache
proxy_cache 는 위의 proxy 를 참조 합 니 다.cache_path 가 정의 하 는 캐 시 공간 입 니 다. 현재 캐 시 기능 을 엽 니 다. 다음 과 같 습 니 다.
proxy_cache web; #위 에서 정의 한 캐 시 공간 을 참조 하 십시오. 같은 캐 시 공간 은 여러 곳 에서 사용 할 수 있 습 니 다.
3、proxy_cache_valid
proxy_cache_유효한 응답 코드 의 캐 시 시간 을 설정 합 니 다. 예 를 들 어:
proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1m;
2. 캐 시 기능 설정 파일 인 스 턴 스 실현
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include mime.types;
default_type application/octet-stream;
#
proxy_cache_path /data/cache levels=1:2 keys_zone=nginx:20M max_size=2G inactive=5;
#
add_header muzigan-Cache "$upstream_cache_status form $server_addr";
upstream static_server {
server 192.168.17.175:80 weight=5;
server 192.168.17.176:80 weight=3;
check interval=3000 rise=2 fall=5 timeout=2000 type=http;
check_http_expect_alive http_2xx http_3xx;
}
server {
listen 80 default_server;
server_name _;
location ~ ^/p_w_picpaths {
index index.php index.html;
proxy_pass http://static_server;
#
proxy_cache nginx;
#
proxy_cache_valid 200 301 302 2m;
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.