ngnix 캐 시 설정
nginx 기반 FastCGI 캐 시 설정
설정:
사실 fastcgicache 와 proxycache 설정 은 기본적으로 같 습 니 다:
# !
# levels
# keys_zone ( )
# inactive , 1d = 1
# max_size ( )
fastcgi_cache_path /home/xwsoul/code/web/demo/cgi_cache/cache_dir/ levels=2:2 keys_zone=cgi_one:10m inactive=2h max_size=2g;
server {
listen 80;
server_name demo.xwsoul.com;
root /home/xwsoul/code/web/demo;
index index.html index.php;
# fastcgi_cache
location ~ /pcgi(/*) {
allow 127.0.0.1;
allow 192.168.2.0/24;
deny all;
fastcgi_cache_purge cgi_one "$scheme$request_method$host$1";
}
try_files $uri @missing;
location @missing {
rewrite ^/cgi_cache/(.*) /cgi_cache/index.php?code=$1 last;
}
location ~ .*\.php$ {
# cache
set $xwsoul_nocache yes;
# URL /cgi_cache/
if ($request_uri ~ ^/cgi_cache/) {
set $xwsoul_nocache "";
}
# CGI
fastcgi_pass 127.0.0.1:9000;
# cache
fastcgi_cache cgi_one;
# HEADER, GET, POST
fastcgi_cache_methods GET;
# key
# $scheme https/http
# $request_method , , GET
# $host
# $request_uri
fastcgi_cache_key "$scheme$request_method$host$request_uri";
# :
fastcgi_cache_valid 200 302 1h;
#
fastcgi_cache_use_stale error timeout invalid_header http_500;
# URL ,
fastcgi_cache_min_uses 1;
#
fastcgi_cache_bypass $xwsoul_nocache;
fastcgi_no_cache $xwsoul_nocache;
# -
add_header X-Cache "$upstream_cache_status";
# fastcgi
include fastcgi.conf;
}
}
몇 가지 질문:
1. set 변 수 를 사용 하여 $xwsoul 을 제어 하 는 이 유 는 무엇 입 니까?nocache 가 fastcgi 를 제어 합 니 다.cache_by pass (0.8x 이후 공식 추천 방법) 와 fastcgino_cache 매개 변 수 는 캐 시 생 성 여 부 를 확인 합 니까?간단 합 니 다. 모든 페이지 에 cache 가 필요 할 수 는 없 기 때 문 입 니 다. 물론 더 좋 은 실현 방법 이 있 습 니 다. 가능 한 한 조언 해 주 십시오.
2. 내 가 / cgi 에 있다 면cache / 아래 스 크 립 트 는 캐 시 없 이 가능 합 니까? 어떻게 합 니까?이것 도 간단 합 니 다. CGI 를 통 해 돌아 오 는 Head 를 통 해 제어 할 수 있 습 니 다.
header('Cache-Control:no-cache, must-revalidate, max-age=0;');
과 header('Expires:0;');
모두 실현 할 수 있 습 니 다.3. 캐 시 된 Cache Name 에 왜 $scheme 가 필요 합 니까?http / https 는 보안 등급 이 다 르 기 때문에 필요 한 캐 시 메커니즘 이 다 를 수 있 습 니 다!
마지막 으로 접근 할 PHP 테스트 스 크 립 트 를 첨부 합 니 다.
<?php
$code = isset($_GET['code'])?$_GET['code']:'';
echo '<pre>';
var_dump($code);
echo '</pre>';
$code = md5($code);
$rand = mt_rand(1, 10);
echo '<p>';
echo 'Loop <b>', $rand, '</b> :<br />';
for ($i = 0;$i < $rand;$i++) {
echo $code, '<br />';
}
echo '</p>';
echo date('Ymd H:i:s'), '<br />';
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
강 한 캐 시 와 협상 캐 시 상세 설명클 라 이언 트 는 자원 을 요청 할 때마다 만 료 여 부 를 봅 니 다.만 료 되 어야 서버 에 문의 할 수 있 습 니 다.그래서 강 캐 시 는 클 라 이언 트 에 게 자급자족 용 으로 사용 하기 위 한 것 이다....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.