discuz頭像程序解析結果緩存


論壇頭像是動態的,例如:http://xxx.xxx.xxx/avatar.php?uid=xxx&size=big php

每一個用戶的頭像文件都有big、middle、small三個,而且在不一樣場景分別調用不一樣尺寸的頭像圖片,好比帖子、我的設置、頭像編輯、登錄等等場景,無形中增長了nginx與php之間的工做壓力,若是可以把這個解析結果緩存起來,那麼就會減小nginx與php的通訊壓力,會下降系統cpu使用率。nginx


測試nginx緩存功能,配置以下:緩存


http域添加ide

fastcgi_cache_path /xxxcache levels=1:2 keys_zone=cgicache:30m inactive=1d max_size=10g;測試


server域添加ui

    location ~* ^/avatar.php?.*$ {
        add_header X-Cache-CFC "$upstream_cache_status - $upstream_response_time";
        fastcgi_temp_path /xxxtemp;
        fastcgi_pass            127.0.0.1:9000;
        fastcgi_index           index.php;
        fastcgi_param           SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include                 fastcgi_params;
        fastcgi_cache           cgicache;
        fastcgi_cache_valid     301 302 1h;
        fastcgi_cache_min_uses  1;
        fastcgi_cache_use_stale error timeout invalid_header http_500;
        fastcgi_cache_key       $host$request_uri;
    }server


經過驗證,緩存文件生成成功,http請求換成miss、hit等狀態正確。圖片


其它動態程序也能夠使用此方法緩存。
ip

相關文章
相關標籤/搜索