운영 및 유지보수 엔진스 HTTP 요청의 역방향 프록시 캐싱을 위해 Nginx를 사용하는 방법

HTTP 요청의 역방향 프록시 캐싱을 위해 Nginx를 사용하는 방법

Aug 02, 2023 pm 10:58 PM
nginx 역방향 프록시 캐시

HTTP 요청의 역방향 프록시 캐싱을 위해 Nginx를 사용하는 방법

Nginx는 고성능 오픈 소스 웹 서버 소프트웨어로 정적 리소스 요청을 처리하는 웹 서버 역할을 할 뿐만 아니라 HTTP 요청에 대한 역방향 프록시도 수행할 수 있습니다. 역방향 프록시는 처리를 위해 클라이언트 요청을 여러 백엔드 서버로 전달하는 데 도움이 되며 캐싱을 통해 응답 속도를 향상시킬 수 있습니다. 이 기사에서는 Nginx에서 역방향 프록시 캐시를 구성하는 방법을 소개합니다.

  1. Install Nginx
    먼저 Nginx 서버를 설치해야 합니다. Linux 환경에서는 패키지 관리자를 통해 설치할 수 있습니다. Debian/Ubuntu를 예로 들어 다음 명령을 실행합니다:

    sudo apt update
    sudo apt install nginx
    로그인 후 복사
  2. 역방향 프록시 캐시 구성
    설치가 완료된 후 Nginx 구성 파일을 편집하여 역방향 프록시 캐시를 구성해야 합니다. 기본 구성 파일은 /etc/nginx/nginx.conf에 있습니다. 텍스트 편집기로 파일을 열고 http{} 블록을 찾으세요. /etc/nginx/nginx.conf。使用文本编辑器打开该文件,找到http{}块。

http{}块中添加以下配置:

proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m;
로그인 후 복사

其中,/path/to/cache是缓存路径,可以根据实际情况进行修改。levels=1:2表示缓存目录的层级。keys_zone=my_cache:10m表示为缓存分配10M的内存,用于存储缓存的元数据。max_size=10g表示缓存的最大大小为10G。inactive=60m表示缓存文件在60分钟没有被访问时会被认为是过期的。

然后,在server{}块内添加以下配置:

proxy_cache my_cache;
proxy_cache_valid 200 302 1h;
proxy_cache_valid 301 404 10m;
proxy_cache_use_stale error timeout updating http_500 http_503;
로그인 후 복사

其中,proxy_cache my_cache表示启用名为my_cache的缓存。proxy_cache_valid用于配置不同状态码的缓存有效期时间,例如200和302状态码的请求缓存有效期为1小时。proxy_cache_use_stale用于指定当后端服务器出现错误或超时时,是否使用过期的缓存作为响应。

  1. 配置反向代理
    在完成了缓存的配置后,我们需要配置反向代理。在server{}块内,添加以下配置:

    location / {
     proxy_pass http://backend_server;
     proxy_set_header Host $host;
     proxy_cache_bypass $http_cache_control;
     proxy_cache_key $uri$is_args$args;
    }
    로그인 후 복사

    其中,proxy_pass指定了后端服务器的地址。proxy_set_header用于设置代理请求中的头信息,这里是将请求的host头设置为当前主机。proxy_cache_bypass用于指定哪些请求不使用缓存,这里是根据请求头中的cache-control来决定。proxy_cache_key

  2. http{} 블록에 다음 구성을 추가하세요.
  3. sudo systemctl restart nginx
    로그인 후 복사

    그 중 /path/to/cache는 캐시 경로이며 다음에 따라 수정할 수 있습니다. 실제 상황. levels=1:2는 캐시 디렉터리의 수준을 나타냅니다. keys_zone=my_cache:10m은 캐시 메타데이터를 저장하기 위해 캐시에 10M의 메모리를 할당하는 것을 의미합니다. max_size=10g는 캐시의 최대 크기가 10G임을 나타냅니다. inactive=60m은 캐시 파일이 60분 동안 액세스되지 않으면 만료된 것으로 간주된다는 의미입니다.

    그런 다음 server{} 블록 내에 다음 구성을 추가합니다.

    rrreee

    여기서 proxy_cache my_cachemy_cache라는 캐시를 활성화한다는 의미입니다. . proxy_cache_valid는 다양한 상태 코드의 캐시 유효 기간을 구성하는 데 사용됩니다. 예를 들어 200 및 302 상태 코드의 요청 캐시 유효 기간은 1시간입니다. proxy_cache_use_stale은 백엔드 서버에서 오류나 시간 초과가 발생할 때 만료된 캐시를 응답으로 사용할지 여부를 지정하는 데 사용됩니다.
    1. 역방향 프록시 구성
      캐시 구성을 완료한 후 역방향 프록시를 구성해야 합니다. server{} 블록 내에 다음 구성을 추가합니다.

      rrreee

      그 중 proxy_pass는 백엔드 서버의 주소를 지정합니다. proxy_set_header는 프록시 요청의 헤더 정보를 설정하는 데 사용됩니다. 여기서 요청의 host 헤더는 현재 호스트로 설정됩니다. proxy_cache_bypass는 캐시를 사용하지 않는 요청을 지정하는 데 사용됩니다. 이는 요청 헤더의 cache-control을 기반으로 결정됩니다. proxy_cache_key는 요청된 URI와 매개변수의 조합인 캐시 키를 생성하는 데 사용됩니다.

      🎜🎜🎜Nginx를 다시 시작하고 테스트🎜위 구성을 완료한 후 구성 파일을 저장하고 종료합니다. 그런 다음 다음 명령을 통해 Nginx 서비스를 다시 시작합니다. 🎜rrreee🎜 그런 다음 브라우저나 명령줄 도구를 통해 요청을 보내 Nginx 캐시의 작동을 관찰합니다. 🎜🎜🎜🎜요약🎜위의 단계를 통해 Nginx의 역방향 프록시 캐시 기능을 성공적으로 구성했습니다. 캐싱을 사용하면 요청 응답 속도가 크게 향상되고 백엔드 서버의 부하가 줄어듭니다. 동시에 Nginx는 실제 필요에 따라 조정 및 최적화할 수 있는 유연한 구성 옵션도 제공합니다. 🎜🎜이 글이 Nginx의 역방향 프록시 캐싱 기능을 이해하고 사용하는 데 도움이 되기를 바랍니다. 질문이나 의문 사항이 있는 경우 댓글 영역에 메시지를 남겨주시면 최선을 다해 답변해 드리겠습니다. 🎜

    위 내용은 HTTP 요청의 역방향 프록시 캐싱을 위해 Nginx를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

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

    뜨거운 도구

    메모장++7.3.1

    메모장++7.3.1

    사용하기 쉬운 무료 코드 편집기

    SublimeText3 중국어 버전

    SublimeText3 중국어 버전

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

    스튜디오 13.0.1 보내기

    스튜디오 13.0.1 보내기

    강력한 PHP 통합 개발 환경

    드림위버 CS6

    드림위버 CS6

    시각적 웹 개발 도구

    SublimeText3 Mac 버전

    SublimeText3 Mac 버전

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

    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

    SSI (Server-Side Include) 용 Nginx를 어떻게 구성합니까? SSI (Server-Side Include) 용 Nginx를 어떻게 구성합니까? Mar 17, 2025 pm 05:06 PM

    이 기사에서는 서버 측 포함 (SSI)에 대한 Nginx 구성, 성능 영향, 동적 컨텐츠에 SSI 사용 및 Nginx.word Count의 일반적인 SSI 문제 문제 해결에 대해 설명합니다.

    Nginx에서 HTTP 인증 (기본 인증, Digest Auth)을 구현하려면 어떻게합니까? Nginx에서 HTTP 인증 (기본 인증, Digest Auth)을 구현하려면 어떻게합니까? Mar 17, 2025 pm 05:03 PM

    이 기사에서는 기본 및 다이제스트 방법을 사용하여 Nginx에서 HTTP 인증을 구현하고 설정 단계 및 보안 영향을 자세히 설명합니다. 또한 사용자 관리를위한 인증 영역을 사용하는 것도 다루며 인증 메트를 결합하는 것을 제안합니다.

    NGINX 성능 및 리소스 사용량을 어떻게 모니터링합니까? NGINX 성능 및 리소스 사용량을 어떻게 모니터링합니까? Mar 17, 2025 pm 05:08 PM

    이 기사는 Nginx의 상태 페이지, 시스템 수준 모니터링 및 Prometheus 및 Grafana와 같은 타사 솔루션과 같은 도구 사용에 중점을 둔 NGINX 성능 모니터링 및 최적화에 대해 설명합니다. 성능 Optimiza를위한 모범 사례를 강조합니다

    URL 재 작성 및 리디렉션에 대한 nginx를 어떻게 구성합니까? URL 재 작성 및 리디렉션에 대한 nginx를 어떻게 구성합니까? Mar 17, 2025 pm 05:02 PM

    이 기사에서는 URL 재 작성 및 리디렉션에 대한 Nginx 구성, 단계 및 모범 사례를 자세히 설명합니다. 효과적인 URL 관리를 보장하기 위해 일반적인 실수 및 테스트 방법을 해결합니다.

    NGINX를 모니터링하는 가장 좋은 도구는 무엇입니까? NGINX를 모니터링하는 가장 좋은 도구는 무엇입니까? Mar 17, 2025 pm 05:09 PM

    이 기사는 Datadog, New Relic 및 Nginx Amplify와 같은 NGINX 모니터링 도구에 대해 설명하며, 실시간 모니터링, 경고 및 세부 메트릭을위한 기능에 중점을 두어 서버 성능을 향상시킵니다.

    Nginx에서 GZIP 압축을 어떻게 구성합니까? Nginx에서 GZIP 압축을 어떻게 구성합니까? Mar 17, 2025 pm 04:57 PM

    이 기사는 Nginx에서 GZIP 압축을 구성하는 방법, 성능 이점 및 검증 방법에 대해 자세히 설명합니다. 주요 이슈 : 압축을 통한 웹 서버 성능 최적화. [159 문자]

    WebSocket Proxying에 대한 Nginx를 어떻게 구성합니까? WebSocket Proxying에 대한 Nginx를 어떻게 구성합니까? Mar 17, 2025 pm 05:01 PM

    기사는 WebSocket Proxy에 대한 Nginx 구성, 필요한 설정에 대한 자세한 내용 및 성공적인 WebSocket 연결을위한 문제 해결 단계 (159 자)에 대해 논의합니다.

    See all articles