찾다
운영 및 유지보수엔진스Nginx 역방향 프록시 캐시 구성 새로 고침 및 웹 사이트 정적 리소스를 실시간으로 업데이트

Nginx 역방향 프록시 캐시 새로 고침 구성, 웹사이트 정적 리소스의 실시간 업데이트

소개:
웹 개발에서 정적 리소스는 웹사이트에 없어서는 안 될 부분입니다. 그러나 자주 업데이트되는 정적 리소스로 인해 사용자가 액세스하는 동안 이전 버전이 표시되거나 로드가 느려질 수 있습니다. 이 문제를 해결하는 효과적인 방법은 Nginx의 역방향 프록시 캐싱 기능을 사용하고 웹사이트의 정적 리소스를 실시간으로 업데이트하도록 구성하는 것입니다. 이 기사에서는 Nginx 구성을 통해 이 기능을 구현하는 방법을 소개합니다.

  1. 역방향 프록시 캐시 활성화:
    먼저 Nginx 구성에서 역방향 프록시 캐시를 활성화해야 합니다. Nginx 구성 파일(일반적으로 nginx.conf)을 찾아 연 후 http 섹션을 찾아 다음 구성을 추가합니다.

    http {
      proxy_cache_path /path/to/cache/directory levels=1:2 keys_zone=cache_zone:10m max_size=10g inactive=60m;
      proxy_temp_path /path/to/temporary/directory;
      proxy_cache_key "$scheme$request_method$host$request_uri";
      proxy_ignore_headers "Cache-Control" "Expires";
      proxy_cache_valid any 10m;
      proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
      
      server {
     ...
     location / {
       proxy_cache cache_zone;
       proxy_pass http://backend-server;
     }
     ...
      }
    }

    지침:

  2. proxy_cache_path: 역방향 프록시 캐시 경로를 설정하고 관련 구성 . levels는 디렉터리 수준이고, keys_zone은 캐시 영역의 이름과 크기이며, max_size는 캐시의 최대 크기를 설정합니다. inactive 캐시 시간 초과를 지정합니다. proxy_cache_path:设置反向代理缓存路径以及相关配置。levels是目录层级,keys_zone是缓存区域的名称与大小,max_size设置缓存的最大大小,inactive指定缓存超时时间。
  3. proxy_temp_path:设置临时目录路径。
  4. proxy_cache_key:用于生成缓存key的变量,$scheme表示请求协议,$request_method表示请求方法,$host表示请求的主机名,$request_uri表示请求的URI。
  5. proxy_ignore_headers:指定需要忽略的响应头。
  6. proxy_cache_valid:设置缓存的有效时间。
  7. proxy_cache_use_stale:定义在更新缓存时允许使用陈旧缓存的情况。
  8. 实时更新静态资源:
    若要实现实时更新网站的静态资源,我们需要在后台程序或脚本中添加额外的逻辑,以在每次更新静态资源后发出刷新缓存的请求。以下是一个简单的示例:

在后台程序或脚本中,当静态资源被更新后,发出刷新缓存的HTTP请求:

import requests

def refresh_cache():
  url = "http://your-nginx-server/purge-url"
  headers = {"Host": "your-hostname"}
  response = requests.get(url, headers=headers)
  
  if response.status_code == 200:
    print("Cache refreshed successfully!")
  else:
    print("Failed to refresh cache.")

Nginx的配置文件中,配置地址路由与缓存刷新:

location ~ /purge-url {
  internal;
  proxy_cache_purge cache_zone "$scheme$request_method$host$request_uri$is_args$args";
}

说明:

  • location:配置处理刷新缓存请求的路由。
  • internal:表示该路由只能被内部请求访问,外部请求无法访问。
  • proxy_cache_purge:配置要刷新的缓存区域及相关参数。

通过以上配置,当发出带有X-Purge-Cache: 1的GET请求到http://your-nginx-server/purge-url时,Nginx会根据请求的URI刷新对应的缓存。

  1. 验证:
    为了验证配置的正确性,可以使用浏览器、Postman或类似的工具来发出带有X-Purge-Cache: 1
  2. proxy_temp_path: 임시 디렉터리 경로를 설정합니다.

proxy_cache_key: 캐시 키를 생성하는 데 사용되는 변수, $scheme은 요청 프로토콜, $request_method는 요청 방법, $host는 요청된 호스트 이름, $request_uri는 요청된 URI를 나타냅니다.

proxy_ignore_headers: 무시해야 하는 응답 헤더를 지정합니다. 🎜🎜proxy_cache_valid: 캐시 유효 시간을 설정합니다. 🎜🎜proxy_cache_use_stale: 캐시를 업데이트할 때 오래된 캐시를 사용할 수 있는 상황을 정의합니다. 🎜🎜실시간으로 정적 리소스 업데이트: 🎜웹 사이트의 정적 리소스를 실시간으로 업데이트하려면 백그라운드 프로그램이나 스크립트에 추가 로직을 추가하여 정적 리소스를 업데이트할 때마다 캐시 새로 고침 요청을 발행해야 합니다. 자원. 다음은 간단한 예입니다. 🎜🎜🎜백그라운드 프로그램 또는 스크립트에서 정적 리소스가 업데이트되면 HTTP 요청을 실행하여 캐시를 새로 고칩니다. 🎜rrreee🎜Nginx 구성 파일에서 주소 라우팅 및 캐시 새로 고침을 구성합니다. 🎜 rrreee🎜 설명: 🎜
    🎜location: 캐시 새로 고침 요청을 처리하도록 경로를 구성합니다. 🎜🎜internal: 경로는 내부 요청으로만 액세스할 수 있고 외부 요청으로는 액세스할 수 없음을 나타냅니다. 🎜🎜proxy_cache_purge: 새로 고칠 캐시 영역 및 관련 매개변수를 구성합니다. 🎜
🎜위 구성을 사용하면 X-Purge-Cache: 1을 사용하여 http://your-nginx-server/purge-url로 GET 요청을 발행할 때 code>, Nginx는 요청된 URI에 따라 해당 캐시를 새로 고칩니다. 🎜
    🎜확인: 🎜구성의 정확성을 확인하려면 브라우저, Postman 또는 유사한 도구를 사용하여 X-Purge-Cache: 1로 GET을 실행할 수 있습니다. 묻다. 캐시가 성공적으로 새로 고쳐지면 해당 정적 리소스에 다시 액세스할 때 백엔드 서버에서 최신 버전을 가져오고 사용자가 최신 정적 리소스를 볼 수 있도록 캐시가 업데이트됩니다. 🎜🎜🎜결론: 🎜Nginx의 역방향 프록시 캐시 구성과 정적 리소스를 실시간으로 새로 고치는 방법을 통해 웹 사이트의 성능과 액세스 속도를 향상시키고 사용자가 최신 정적 리소스를 실시간으로 얻을 수 있도록 보장할 수 있습니다. 이는 자주 업데이트되는 웹사이트에 특히 중요합니다. 또한 백엔드 서버에 대한 부담을 줄이고 웹사이트의 안정성과 신뢰성을 향상시킬 수도 있습니다. 이 소개가 여러분에게 도움이 되기를 바랍니다! 🎜

위 내용은 Nginx 역방향 프록시 캐시 구성 새로 고침 및 웹 사이트 정적 리소스를 실시간으로 업데이트의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Nginx vs. Apache : 웹 호스팅 및 트래픽 관리Nginx vs. Apache : 웹 호스팅 및 트래픽 관리Apr 12, 2025 am 12:04 AM

NGINX는 동시성이 높은 자원 소비 시나리오에 적합하지만 APACHE는 복잡한 구성 및 기능 확장이 필요한 시나리오에 적합합니다. 1.NGINX는 고성능과의 많은 동시 연결을 처리하는 것으로 알려져 있습니다. 2. Apache는 안정성과 풍부한 모듈 지원으로 유명합니다. 선택할 때는 특정 요구에 따라 결정해야합니다.

NGINX : 최신 웹 애플리케이션을위한 다목적 도구NGINX : 최신 웹 애플리케이션을위한 다목적 도구Apr 11, 2025 am 12:03 AM

nginxissentialderformodernwebapplicationsduetoitsrolessareareverseproxy, loadbalancer 및 Webserver, HighperformanceAndscalability를 제공합니다

Nginx SSL/TLS 구성 : HTTPS로 웹 사이트 보안Nginx SSL/TLS 구성 : HTTPS로 웹 사이트 보안Apr 10, 2025 am 09:38 AM

Nginx를 통해 웹 사이트 보안을 보장하려면 다음 단계가 필요합니다. 1. 기본 구성을 만들고 SSL 인증서 및 개인 키를 지정하십시오. 2. 구성 최적화, HTTP/2 및 OCSPStapling 활성화; 3. 인증서 경로 및 암호화 제품군 문제와 같은 공통 오류 디버그; 4. Let 'sencrypt 및 세션 멀티플렉싱 사용과 같은 응용 프로그램 성능 최적화 제안.

Nginx 인터뷰 질문 : ACE 귀하의 DevOps/System Admin 인터뷰Nginx 인터뷰 질문 : ACE 귀하의 DevOps/System Admin 인터뷰Apr 09, 2025 am 12:14 AM

NGINX는 고성능 HTTP 및 리버스 프록시 서버로 높은 동시 연결을 처리하는 데 능숙합니다. 1) 기본 구성 : 포트를 듣고 정적 파일 서비스를 제공합니다. 2) 고급 구성 : 리버스 프록시 및로드 밸런싱을 구현하십시오. 3) 디버깅 기술 : 오류 로그를 확인하고 구성 파일을 테스트하십시오. 4) 성능 최적화 : GZIP 압축을 활성화하고 캐시 정책을 조정합니다.

Nginx 캐싱 기술 : 웹 사이트 성능 향상Nginx 캐싱 기술 : 웹 사이트 성능 향상Apr 08, 2025 am 12:18 AM

Nginx 캐시는 다음 단계를 통해 웹 사이트 성능을 크게 향상시킬 수 있습니다. 1) 캐시 영역을 정의하고 캐시 경로를 설정하십시오. 2) 캐시 유효성 기간 구성; 3) 다른 컨텐츠에 따라 다른 캐시 정책을 설정합니다. 4) 캐시 저장 및로드 밸런싱을 최적화합니다. 5) 캐시 효과를 모니터링하고 디버그합니다. 이러한 방법을 통해 NGINX 캐시는 백엔드 서버 압력을 줄이고 응답 속도 및 사용자 경험을 향상시킬 수 있습니다.

Docker와 Nginx : 컨테이너화 된 응용 프로그램을 배포하고 스케일링합니다Docker와 Nginx : 컨테이너화 된 응용 프로그램을 배포하고 스케일링합니다Apr 07, 2025 am 12:08 AM

dockercompose를 사용하면 Nginx의 배포 및 관리를 단순화 할 수 있으며 Dockerswarm 또는 Kubernetes를 통한 스케일링은 일반적인 관행입니다. 1) DockerCompose를 사용하여 Nginx 컨테이너를 정의하고 실행하십시오. 2) Dockerswarm 또는 Kubernetes를 통한 클러스터 관리 및 자동 스케일링 구현.

고급 NGINX 구성 : 서버 블록 마스터 링 및 리버스 프록시고급 NGINX 구성 : 서버 블록 마스터 링 및 리버스 프록시Apr 06, 2025 am 12:05 AM

NGINX의 고급 구성은 서버 블록 및 리버스 프록시를 통해 구현 될 수 있습니다. 1. 서버 블록을 사용하면 여러 웹 사이트를 한쪽으로 실행할 수있게되면 각 블록은 독립적으로 구성됩니다. 2. 리버스 프록시는 요청을 백엔드 서버로 전달하여로드 밸런싱 및 캐시 가속도를 실현합니다.

Nginx 성능 튜닝 : 속도 및 낮은 대기 시간을 최적화합니다Nginx 성능 튜닝 : 속도 및 낮은 대기 시간을 최적화합니다Apr 05, 2025 am 12:08 AM

작업자 프로세스 수, 연결 풀 크기, GZIP 압축 및 HTTP/2 프로토콜을 활성화하고 캐시 및로드 밸런싱을 사용하여 NGINX 성능 튜닝을 달성 할 수 있습니다. 1. 작업자 프로세스 수 및 연결 풀 크기 조정 : Worker_ProcessesAuto; 이벤트 {worker_connections1024;}. 2. GZIP 압축 및 HTTP/2 프로토콜 활성화 : http {gzipon; server {listen443sslhttp2;}}. 3. 캐시 최적화 사용 : http {proxy_cache_path/path/to/cachelevels = 1 : 2k

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전