以下是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/*