Debian上LNMP(Linux+Nginx+MySQL+PHP)的缓存机制主要涉及Nginx缓存、PHP缓存和MySQL缓存,以下是具体说明:
用于缓存静态资源、动态响应,减少后端请求压力。
expires指令设置浏览器缓存时间,或proxy_cache缓存代理响应。location ~* \.(jpg|css|js)$ {
expires 30d;
proxy_cache my_static_cache;
}
proxy_cache或fastcgi_cache缓存PHP动态页面,支持按URL、参数等维度缓存。proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:100m inactive=60m;
location /api/ {
proxy_cache my_cache;
proxy_cache_valid 200 10m;
}
proxy_cache_valid设置不同状态码的缓存时间,proxy_cache_lock防止缓存击穿。提升PHP脚本执行效率,减少重复编译开销。
opcache.enable=1(启用)、opcache.memory_consumption=128(内存大小,单位MB)、opcache.revalidate_freq=60(缓存更新频率,单位秒)。php-memcached)并在代码中调用。优化数据库查询性能,减少磁盘I/O。
query_cache_type=1(启用)、query_cache_size=64M(缓存大小)。innodb_buffer_pool_size(建议设置为服务器内存的50%-70%)。proxy_cache_purge),监控缓存命中率。/etc/nginx/nginx.conf、/etc/nginx/sites-available/default/etc/php/7.x/fpm/php.ini(根据PHP版本调整)/etc/mysql/my.cnf参考来源:[1,2,3,4,5,6,7,8,9,10,11,12,13,14]