Nginx가 HTTP 요청에 대한 캐시 제어 구성을 구현하는 방법
Nginx가 HTTP 요청의 캐시 제어 구성을 구현하는 방법
Nginx는 고성능 웹 서버이자 역방향 프록시 서버로서 강력한 캐시 관리 및 제어 기능을 갖추고 있으며 구성을 통해 HTTP 요청의 캐시 제어를 달성할 수 있습니다. 이 기사에서는 Nginx가 HTTP 요청에 대한 캐시 제어 구성을 구현하는 방법을 자세히 소개하고 특정 코드 예제를 제공합니다.
1. Nginx 캐시 구성 개요
Nginx 캐시 구성은 주로 Proxy_cache 모듈을 통해 구현됩니다. 이 모듈은 캐시 동작을 효과적으로 제어할 수 있는 풍부한 명령과 매개변수를 제공합니다. 캐시를 구성하기 전에 Nginx 구성 파일에서 Proxy_cache 모듈을 로드해야 합니다. 구체적인 지침은 다음과 같습니다.
load_module modules/ngx_http_proxy_module.so;
이 지침은 구성 파일에서 관련 캐시 제어 지침을 사용할 수 있도록 Nginx Proxy_cache 모듈을 로드합니다.
2. 캐시 제어 지침에 대한 자세한 설명
- proxy_cache_path
proxy_cache_path 지시어는 캐시 저장 경로, 캐시 크기, 캐시 전략 등과 같은 캐시 경로 및 관련 구성 매개변수를 정의하는 데 사용됩니다. 구체적인 사용법은 다음과 같습니다.
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;
이 예에서는 my_cache라는 캐시 영역을 정의하고, 캐시 경로는 /data/nginx/cache이며, 최대 캐시 크기는 10GB, 캐시 만료 시간은 60분입니다. 실제 필요에 따라 구성 매개변수를 조정해야 한다는 점에 유의해야 합니다.
- proxy_cache
proxy_cache 지시어는 캐싱을 활성화하고 사용되는 캐시 영역을 설정하는 데 사용됩니다. 이는 위치 블록에서 구성할 수 있습니다. 예:
location / { proxy_cache my_cache; proxy_cache_valid 200 304 5m; proxy_cache_valid 301 302 1h; proxy_cache_key $host$uri$is_args$args; proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504; proxy_cache_background_update on; proxy_cache_lock on; proxy_cache_lock_timeout 5s; proxy_cache_revalidate on; proxy_cache_min_uses 3; proxy_cache_bypass $http_x_token; proxy_cache_methods GET HEAD; }
위 구성에서는 my_cache라는 캐시 영역을 활성화했습니다. 캐시 유효 시간, 캐시 키, 캐시 업데이트 전략 및 다양한 응답 상태 코드의 기타 매개변수가 설정됩니다. 이러한 매개변수는 특정 캐싱 요구 사항에 따라 유연하게 구성할 수 있습니다.
- proxy_ignore_headers
proxy_ignore_headers 지시문은 Nginx가 캐싱할 때 무시해야 하는 HTTP 응답 헤더를 지정하는 데 사용됩니다. 예:
proxy_ignore_headers Cache-Control Set-Cookie;
이 예에서는 Nginx에 헤더 캐싱 시 Cache-Control 및 Set-Cookie 응답을 무시하도록 요청합니다. 캐시 일관성과 유효성을 보장합니다.
- proxy_cache_lock
proxy_cache_lock 지시문은 캐시 콘텐츠에 대한 동시 액세스를 제어하는 데 사용됩니다. 이를 통해 캐시 고장, 눈사태 및 다음과 같은 기타 문제를 효과적으로 방지할 수 있습니다.
proxy_cache_lock on; proxy_cache_lock_timeout 5s;
이 예에서는 캐시 잠금을 활성화하고 5를 설정합니다. 요청이 캐시된 콘텐츠를 업데이트하기 위해 백엔드 서버에 계속 액세스하는 시간 초과(초)입니다.
3. 코드 예제
위의 캐시 제어 지침을 기반으로 HTTP 요청의 캐시 제어를 구현하는 완전한 Nginx 구성 예제를 작성할 수 있습니다. 다음은 간단한 Nginx 구성 예입니다.
load_module modules/ngx_http_proxy_module.so; http { proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off; server { listen 80; server_name example.com; location / { proxy_pass http://backend_server; proxy_cache my_cache; proxy_cache_valid 200 304 5m; proxy_cache_valid 301 302 1h; proxy_cache_key $host$uri$is_args$args; proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504; proxy_cache_background_update on; proxy_cache_lock on; proxy_cache_lock_timeout 5s; proxy_cache_revalidate on; proxy_cache_min_uses 3; proxy_cache_bypass $http_x_token; proxy_cache_methods GET HEAD; proxy_ignore_headers Cache-Control Set-Cookie; } } }
위 예에서는 먼저 ngx_http_proxy_module 모듈을 로드한 다음 my_cache라는 캐시 영역을 정의하고 서버 블록에 프록시 위치를 구성하고 캐싱 및 해당 캐시 제어 명령을 활성화했습니다. . 사용자가 example.com을 방문하면 Nginx는 구성된 캐시 규칙에 따라 캐시 관리 및 제어를 수행합니다.
IV. 요약
위의 소개와 예제를 통해 Nginx가 HTTP 요청에 대한 캐시 제어 구성을 구현하는 방법과 Proxy_cache 모듈에서 제공하는 관련 지침에 대한 자세한 설명 및 데모를 살펴보았습니다. 합리적인 캐시 구성은 웹 사이트의 액세스 속도와 성능을 크게 향상시키고, 백엔드 서버에 대한 부담을 줄이고, 더 나은 사용자 경험을 달성할 수 있습니다. 따라서 실제 웹 애플리케이션 개발에서는 Nginx의 캐시 제어 기능을 적절하게 사용하는 것이 매우 중요합니다.
위 내용은 Nginx가 HTTP 요청에 대한 캐시 제어 구성을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사에서는 Nginx의 구성 및 구성 방법을 소개합니다. 1. nginx 설치 : Centos에서 sudoyumininstallnginx를 사용하고 Ubuntu에서 sudoapt-getinstallnginx를 사용하고 설치 후 sudosystemctlstartnginx로 시작하십시오. 2. 기본 구성 : /etc/nginx/nginx.conf 파일을 수정하고 주로 서버 블록에서 청취 (포트) 및 루트 (사이트 루 디렉토리) 지침을 수정하고 수정 후 sudosystemctlrestartnginx를 사용하여 다시 시작하고 적용하십시오. 3. 가상 호스트 구성 : nginx.co에서

Nginx가 일정 기간 동안 실행 한 후 끊어지는 이유 : 1. 메모리 누출; 2. 구성 오류; 3. 자원이 충분하지 않습니다. 4. 외부 요인. 해결책 : 1. 메모리 누출 진단; 2. 구성 오류 수정; 3. 더 많은 자원을 제공합니다. 4. 외부 요인을 제외합니다.

Nginx로드 밸런싱은 업스트림 모듈을 통해 백엔드 서버를 정의하고 위치 블록을 사용하여 이러한 서버에 대한 요청을 프록시합니다. 폴링, 최소 연결 수, 응답 시간 가중치 및 IP_HASH와 같은로드 밸런싱 전략을 지원합니다. 구성 예제에는 업스트림 그룹 정의 및 proxy_pass 지시문을 사용하여 지적하는 것이 포함됩니다.

nginx 재시작 명령 : sudo systemctl nginx 재시작. 기타 관련 명령은 다음과 같습니다. 1. 시작 : sudo systemctl start nginx; 2. 정지 : sudo systemctl 정지 nginx; 3. 상태 확인 : sudo systemctl 상태 nginx.

Nginx AutoIndex는 파일 대신 디렉토리를 요청할 때 파일을 탐색하고 파일 정보를보기 위해 사용되는 HTML 페이지를 나열하는 디렉토리 목록을 생성하는 기능입니다. 정확한 파일 크기, 현지 시간 및 사용자 정의 페이지 형식을 표시하는 것과 같은 구성 옵션으로 사용자 정의 할 수 있습니다. 장점에는 쉬운 탐색, 손쉬운 구성 및 파일 정보 제공이 포함됩니다. 단점에는 보안 위험, 성능 영향 및 페이지 모양을 사용자 정의 할 수없는 무능력이 포함됩니다.

Nginx 가상 호스트 구성을 통해 여러 웹 사이트를 단일 서버에서 개별 도메인 이름과 루트 디렉토리로 호스팅 할 수 있습니다. 특정 구성 단계에는 다음이 포함됩니다 : 가상 호스트 구성 파일 작성 서버 블록 구성, 서버 청취 포트를 지정하고, 가상 호스트 도메인 이름 및 문서 루트 디렉토리를 지정하여 가상 호스트를 활성화하고, 구성 파일을 사용 가능한 디렉토리에 연결하여 nginx를 다시로드합니다.

Nginx를 통해 리디렉션하는 방법은 301 개의 영구 리디렉션 (업데이트 링크 또는 모바일 페이지)과 302 개의 임시 리디렉션 (오류 처리 또는 임시 변경)입니다. 리디렉션 구성에는 서버 블록에서 위치 지시 사항을 사용하여 고급 기능에는 정규 표현식 일치, 프록시 리디렉션 및 조건 기반 리디렉션이 포함됩니다. 일반적인 리디렉션 사용에는 URL 업데이트, 오류 처리, HTTP 리디렉션, HTTPS 리디렉션 및 사용자를 특정 국가 또는 언어 버전으로 안내하는 것이 포함됩니다.

Nginx는 가벼운 비 차단 웹 서버이며 리버스 프록시로 프론트 엔드 프록시,로드 밸런싱 및 캐싱에 일반적으로 사용됩니다. 웹 서버와의 관계는 일반적으로 다음과 같습니다. 프론트 엔드 프록시 : Nginx는 요청을 처리하고 백엔드 서버로 전달합니다. 로드 밸런서 : NGINX는 요청을 여러 백엔드 서버에 배포합니다. 캐싱 : NGINX 캐시는 성능을 위해 파일에 자주 액세스했습니다.
