>운영 및 유지보수 >엔진스 >정적 웹 페이지 액세스를 가속화하기 위한 Nginx 역방향 프록시 캐시 구성

정적 웹 페이지 액세스를 가속화하기 위한 Nginx 역방향 프록시 캐시 구성

PHPz
PHPz원래의
2023-07-04 18:09:071708검색

정적 웹 페이지 액세스를 가속화하는 Nginx 역방향 프록시 캐시 구성

소개:
인터넷의 급속한 발전으로 인해 액세스 속도는 웹 사이트 운영에 있어 매우 중요한 요소가 되었습니다. 웹 페이지의 액세스 속도를 향상시키기 위해 Nginx 역방향 프록시 캐싱 기술을 사용하여 웹 페이지를 가속화할 수 있습니다. 이 기사에서는 Nginx를 사용하여 정적 웹 페이지를 가속화하기 위해 역방향 프록시 캐시를 구성하는 방법을 소개합니다.

Nginx 역방향 프록시 캐시 구성:

  1. Nginx 설치:
    먼저 apt-get 및 yum과 같은 패키지 관리 도구를 통해 설치할 수 있는 Nginx 서버를 설치해야 합니다.
  2. Nginx 역방향 프록시 구성:
    Nginx 구성 파일(일반적으로 /etc/nginx/nginx.conf에 있음)을 열고 서버 부분 구성을 찾습니다. 서버 아래에 다음 코드를 추가합니다.
location / {
    proxy_pass http://backend;
    proxy_cache my_cache;
    proxy_cache_valid 200 304 12h;
    proxy_cache_valid any 5m;
    proxy_cache_key $host$scheme$request_uri;
    proxy_cache_use_stale error timeout invalid_header 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_lock_age 10s;
    proxy_ignore_headers Cache-Control;
    proxy_ignore_headers Set-Cookie;
    proxy_ignore_headers Expires;
    add_header X-Proxy-Cache $upstream_cache_status;
}

위 구성을 설명합니다.

  • proxy_pass: 역방향 프록시의 백엔드 서버 주소를 지정합니다. 이는 로컬 포트 ​​번호 또는 도메인 이름일 수 있습니다. proxy_pass:指定反向代理的后端服务器地址,可以是本地的端口号或域名。
  • proxy_cache:指定缓存的名称,在Nginx的配置文件中需要另外定义。
  • proxy_cache_valid:指定缓存数据的有效时间,这里设置200和304状态码的缓存时间为12小时,其他状态码的缓存时间为5分钟。
  • proxy_cache_key:指定缓存数据的唯一标识,这里使用域名、协议和请求URI来生成。
  • proxy_cache_use_stale:设置当后端服务器错误时是否使用过期的缓存。
  • proxy_cache_background_update:设置是否在后台更新缓存数据。
  • proxy_cache_lock:设置是否启用缓存锁,以避免多个请求同时更新缓存。
  • proxy_ignore_headers:设置忽略的响应头,这里忽略了Cache-Control、Set-Cookie和Expires。
  • add_header:添加响应头,用于显示缓存命中状态。
  1. 配置Nginx缓存:
    打开Nginx的主配置文件,在http部分的配置中添加如下代码:
proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:50m inactive=24h max_size=500m;

解释上述配置:

  • proxy_cache_path
  • proxy_cache: Nginx 구성 파일에서 별도로 정의해야 하는 캐시 이름을 지정합니다.
    proxy_cache_valid: 캐시된 데이터의 유효 시간을 지정합니다. 여기서 200 및 304 상태 코드의 캐시 시간은 12시간으로 설정되고 다른 상태 코드의 캐시 시간은 5분입니다.

  1. proxy_cache_key: 도메인 이름, 프로토콜 및 요청 URI를 사용하여 생성된 캐시된 데이터의 고유 식별자를 지정합니다.
proxy_cache_use_stale: 백엔드 서버 오류 발생 시 만료된 캐시를 사용할지 여부를 설정합니다.


proxy_cache_Background_update: 백그라운드에서 캐시 데이터를 업데이트할지 여부를 설정합니다.

proxy_cache_lock: 동시에 캐시를 업데이트하는 여러 요청을 방지하기 위해 캐시 잠금을 활성화할지 여부를 설정합니다.

proxy_ignore_headers: 여기서는 Cache-Control, Set-Cookie 및 Expires를 무시하도록 설정합니다.


add_header: 캐시 적중 상태를 표시하기 위해 응답 헤더를 추가합니다.

🎜
    🎜Nginx 캐시 구성: 🎜Nginx의 기본 구성 파일을 열고 http 부분 구성에 다음 코드를 추가합니다. 🎜🎜
    sudo service nginx restart
    🎜위 구성을 설명합니다. 🎜🎜🎜proxy_cache_path code>: 캐시 경로, 캐시 수준, 캐시 영역, 비활성 시간 및 최대 캐시 크기를 지정합니다. 🎜🎜🎜🎜Nginx 서버 다시 시작: 🎜위 구성을 완료한 후 구성 파일을 저장하고 종료하고 다음 명령을 통해 Nginx 서버를 다시 시작합니다. 🎜🎜rrreee🎜예제 결과: 🎜위 구성 후 사용자가 Nginx는 캐시 설정에 따라 Judge를 기반으로 합니다. 해당 정적 웹 페이지 파일이 캐시에 존재하면 캐시된 데이터가 직접 반환되므로 웹 페이지의 가속화가 실현됩니다. 🎜🎜결론: 🎜Nginx 역방향 프록시 캐시 구성을 통해 정적 웹 페이지에 대한 액세스를 빠르게 가속화할 수 있습니다. 캐시 유효 기간, 캐시 키, 캐시 경로 등의 매개변수를 적절하게 구성하면 웹 페이지의 액세스 속도와 사용자 경험을 더욱 향상시킬 수 있습니다. 동시에 Nginx 리버스 프록시 캐시는 백엔드 서버의 로드를 줄이고 시스템의 안정성과 신뢰성을 향상시킬 수도 있습니다. 🎜🎜요약: 🎜이 글에서는 Nginx 역방향 프록시 캐시 구성을 사용하여 정적 웹 페이지에 대한 액세스를 가속화하는 방법을 소개합니다. 적절한 구성을 통해 웹사이트의 접속 속도를 향상시키고 백엔드 서버의 부하를 줄일 수 있습니다. 독자들이 이 기사에 제공된 샘플 코드를 기반으로 자신의 필요에 따라 구성하여 웹 사이트의 성능과 사용자 경험을 향상시킬 수 있기를 바랍니다. 🎜

위 내용은 정적 웹 페이지 액세스를 가속화하기 위한 Nginx 역방향 프록시 캐시 구성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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