>  기사  >  운영 및 유지보수  >  Nginx 캐시 정리 구성, 웹사이트 정적 리소스 업데이트 최적화

Nginx 캐시 정리 구성, 웹사이트 정적 리소스 업데이트 최적화

PHPz
PHPz원래의
2023-07-05 11:57:061992검색

Nginx 캐시 정리 구성, 웹사이트 정적 리소스 업데이트 최적화

소개:
웹사이트 개발 프로세스 중에 CSS, JavaScript 및 이미지와 같은 정적 리소스에 대한 업데이트가 자주 발생합니다. 그러나 브라우저의 캐싱 메커니즘으로 인해 방문자는 최신 버전의 정적 리소스를 즉시 얻지 못할 수도 있습니다. 이 문제를 해결하기 위해 캐시 정리 구성에 Nginx를 사용하여 웹사이트 정적 리소스 업데이트를 최적화할 수 있습니다.

1. Nginx 캐시 구성
먼저 캐시 관련 설정을 구성하려면 Nginx 구성 파일 nginx.conf에 다음 지침을 추가해야 합니다.

http {
    ...
    proxy_cache_path /path/to/cache levels=1:2 keys_zone=cache_zone:10m max_size=10g inactive=60m;
    ...

    server {
        ...
        location ~* .(css|js|png|jpg|jpeg|gif|ico)$ {
            expires 30d;
            add_header Pragma public;
            add_header Cache-Control "public";
            proxy_cache cache_zone;
            proxy_cache_key $scheme$proxy_host$uri$is_args$args;
            proxy_cache_valid 200 301 302 404 1d;
        }
        ...
    }
    ...
}
  1. proxy_cache_path: 캐시 디렉터리에 대한 경로를 설정합니다. level=1:2는 캐시 디렉터리의 2단계 하위 디렉터리를 사용하여 캐시 파일을 저장하는 것을 의미하며, 이는 파일 검색 속도를 향상시킬 수 있습니다. keys_zone은 캐시 영역의 이름이고, 10m은 캐시 인덱스에 10MB의 메모리를 할당한다는 의미입니다. max_size는 캐시 파일의 최대 크기를 나타내고, inactive는 지정된 시간 내에 캐시 파일에 접근하지 않으면 캐시 파일이 삭제됨을 나타냅니다.
  2. 위치: 캐시해야 하는 정적 리소스 파일을 일치시키는 데 사용됩니다. 이 예에서는 CSS, JavaScript, 이미지 및 기타 파일을 일치시키기 위해 정규식을 사용했으며 캐시 만료 시간은 30일로 설정되었습니다.
  3. add_header: HTTP 응답 헤더 정보를 추가하고 Pragma를 공개로 설정하고 Cache-Control을 공개로 설정하여 공개 캐시 서버 및 브라우저에서 캐시를 캐시할 수 있도록 합니다.

2. Nginx 캐시 정리 구성
웹사이트의 정적 리소스 파일을 업데이트한 후에는 방문자가 최신 정적 리소스를 얻을 수 있도록 캐시에서 이전 버전 파일을 지워야 합니다. 이를 달성하기 위해 Nginx 구성 파일에 다음 코드를 추가할 수 있습니다.

http {
    ...
    proxy_cache_path /path/to/cache levels=1:2 keys_zone=cache_zone:10m max_size=10g inactive=60m;
    ...

    server {
        ...
        location /purge-cache {
            internal;
            proxy_cache_purge cache_zone "$scheme$proxy_host$uri$is_args$args";
        }
        ...
    }
    ...
}
  1. location: 캐시 정리 작업을 트리거하는 /purge-cache URL을 정의합니다. 내부는 이 URL이 내부 액세스에만 유효함을 의미합니다.
  2. proxy_cache_purge: 지정된 URL에 해당하는 캐시 파일을 지웁니다.

3. 코드 예제
웹사이트의 CSS 파일이 http://example.com/static/css/style.css에 있다고 가정하면 다음 코드를 사용하여 캐시에서 파일을 지울 수 있습니다.

curl -X PURGE http://example.com/purge-cache/static/css/style.css

이 요청은 nginx가 캐시의 URL에 해당하는 캐시 파일을 지우고 다음에 URL에 액세스할 때 캐시가 다시 생성되도록 합니다.

결론:

Nginx의 캐시 정리를 구성하면 웹사이트의 정적 리소스 업데이트를 최적화할 수 있습니다. 정적 리소스를 업데이트할 때 캐시를 지우라는 요청만 보내면 방문자가 최신 리소스 파일을 얻고 웹사이트 성능과 사용자 경험을 향상할 수 있습니다.

참조:

    Nginx 공식 문서: https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_purge

위 내용은 Nginx 캐시 정리 구성, 웹사이트 정적 리소스 업데이트 최적화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.