以下是CentOS LNMP环境下缓存策略的优化方向及具体措施:
location ~* \.(jpg|jpeg|png|gif|css|js)$ {
expires 30d;
add_header Cache-Control "public";
}
proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m;
location / {
proxy_cache my_cache;
proxy_cache_valid 200 30m;
}
gzip on;
gzip_types text/css application/javascript text/xml;
gzip_comp_level 6;
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
innodb_buffer_pool_size = 4G # 假设服务器内存为8G
innodb_buffer_pool_instances = 4 # 多实例减少锁竞争
query_cache_type = 1
query_cache_size = 64M
echo "net.ipv4.tcp_tw_reuse = 1" >> /etc/sysctl.conf
echo "vm.swappiness = 10" >> /etc/sysctl.conf
sysctl -p
top
、htop
监控CPU和内存,iostat
监控磁盘I/O,nginx -T
查看缓存命中率。crontab -e
0 3 * * * rm -rf /tmp/nginx_cache/*