[php] Nginx PHP 캐시 제어 설정
웹 애플리케이션을 운영할 때 성능을 향상시키기 위해 캐싱은 중요한 요소입니다. Nginx에서 PHP 캐시를 제어하는 방법에 대해 알아봅시다.
FastCGI 캐시 설정
Nginx는 FastCGI 캐시 모듈을 통해 PHP 캐싱을 위한 기능을 제공합니다. 이 모듈을 사용하면 웹 서버가 PHP 스크립트의 실행 결과를 캐시하여 동일한 요청에 대해 다시 실행하지 않고 캐시된 결과를 반환할 수 있습니다.
fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=phpcache:100m inactive=60m;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
위의 예시는 FastCGI 캐시를 설정하고 캐시 영역을 /var/cache/nginx
디렉토리에 만들며, 캐시 키 값은 $scheme$request_method$host$request_uri
로 설정합니다.
캐시 적용
캐시를 적용하려면 location
블록 내에서 캐시 동작을 지정해야 합니다.
location ~ \.php$ {
fastcgi_cache phpcache;
fastcgi_cache_valid 200 302 10m;
fastcgi_cache_valid 301 1h;
fastcgi_cache_use_stale error timeout invalid_header updating http_500;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
위의 예시에서는 .php
로 끝나는 URL에 대해 캐시를 적용하고, 200 OK 및 302 Found 상태 코드에 대한 응답을 10분간 캐시 유효로 지정하고, 301 Moved Permanently 상태 코드에 대한 응답을 1시간 동안 캐시 유효로 지정합니다.
이제 Nginx에서 PHP 캐시를 제어하는 방법에 대해 알아보았습니다. 웹 애플리케이션의 성능 향상을 위해 이러한 캐시 설정을 적용해보세요.
더 자세한 내용은 Nginx FastCGI 캐시 모듈 문서를 참고하세요.