技术文摘

用NG自带缓存模块解决动态缓存(非memcached或redis)

作者:雨祺   发表于:
浏览:76次    字数:771  电脑原创
级别:站长   总稿:81篇, 月稿:10
用memcached或redis缓存确实是最理想的选择,苦于帝国CMS默认是没有的,但二开是可以的。比如文韵坊阅读网就采用了memcached或redis或文本缓存。不过这样对核心代码改动很大,灵动标签要改,非标签调用的SQL查询都需要去改。着实麻烦。那小编今天今天分享另外一种,用NG自带缓存模块解决动态缓存。
以宝塔为例,首先找到Nginx配置,在http块里面的 gzip on;之前加上以下代码:
  1. fastcgi_connect_timeout 180; 
  2. fastcgi_send_timeout 180; 
  3. fastcgi_read_timeout 180; 
  4. fastcgi_buffer_size 128k; 
  5. fastcgi_buffers 8 128k; 
  6. fastcgi_busy_buffers_size 256k; 
  7. fastcgi_temp_file_write_size 512k; 
  8. fastcgi_intercept_errors on; 
接着在access_log off;下面增加
  1. # 定义 FastCGI 缓存路径和参数 
  2. fastcgi_cache_path /data/nginx/cache levels=1:2 keys_zone=my_fastcgi_cache:10m max_size=10g inactive=60m; 
接着在 server块里面增加以下代码
  1. location ~ \.php$ 
  2.     fastcgi_cache my_fastcgi_cache; 
  3.     fastcgi_cache_valid 200 302 60m; 
  4.     fastcgi_cache_valid 404 10m; 
  5.     fastcgi_cache_use_stale error timeout invalid_header updating; 
  6.     fastcgi_cache_key "$scheme$request_method$host$request_uri"
  7.  
  8.     fastcgi_pass 127.0.0.1:9000; 
  9.     fastcgi_index index.php; 
  10.     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
  11.     include fastcgi_params; 
注意:/data/nginx/cache 这个得有755权限。不然没有写入读取。
还是没有效果啊,这目录下面压根没有文件啊。不急不急,小编还没有说完呢。找到对应网站-----设置----配置文件,找到#SSL-END这下面增加
  1. fastcgi_cache my_fastcgi_cache; 
  2. fastcgi_cache_valid 200 302 60m; 
  3. fastcgi_cache_valid 404 10m; 
  4. fastcgi_cache_use_stale error timeout invalid_header updating; 
  5. fastcgi_cache_key "$scheme$request_method$host$request_uri"
  6. add_header X-Cache-Status $upstream_cache_status; 
全部完成。现在就可以享受动态缓存加速的快感了。记得修改之前记得配置备份!!!!!

【审核人:站长】

99Ai聊天   收藏   加好友   海报   41分享
点赞(0)
打赏
标签:redisMemcached缓存

发布者资料

热门文章

技术文摘

查看更多技术文摘
    首页
    栏目
    搜索
    会员
    投稿