xiao9469 发表于 6 天前

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

用memcached或redis缓存确实是最理想的选择,苦于帝国CMS默认是没有的,但二开是可以的。比如文韵坊阅读网就采用了memcached或redis或文本缓存。不过这样对核心代码改动很大,灵动标签要改,非标签调用的SQL查询都需要去改。着实麻烦。那小编今天今天分享另外一种,用NG自带缓存模块解决动态缓存。
以宝塔为例,首先找到Nginx配置,在http块里面的 gzip on;之前加上以下代码:
    fastcgi_connect_timeout 180;    fastcgi_send_timeout 180;    fastcgi_read_timeout 180;    fastcgi_buffer_size 128k;    fastcgi_buffers 8 128k;    fastcgi_busy_buffers_size 256k;    fastcgi_temp_file_write_size 512k;    fastcgi_intercept_errors on;接着在access_log off;下面增加
# 定义 FastCGI 缓存路径和参数fastcgi_cache_path /data/nginx/cache levels=1:2 keys_zone=my_fastcgi_cache:10m max_size=10g inactive=60m;接着在 server块里面增加以下代码
      location ~ \.php$         {            fastcgi_cache my_fastcgi_cache;            fastcgi_cache_valid 200 302 60m;            fastcgi_cache_valid 404 10m;            fastcgi_cache_use_stale error timeout invalid_header updating;            fastcgi_cache_key "$scheme$request_method$host$request_uri";            fastcgi_pass 127.0.0.1:9000;            fastcgi_index index.php;            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;            include fastcgi_params;      }注意:/data/nginx/cache 这个得有755权限。不然没有写入读取。

还是没有效果啊,这目录下面压根没有文件啊。不急不急,小编还没有说完呢。找到对应网站-----设置----配置文件,找到#SSL-END这下面增加fastcgi_cache my_fastcgi_cache;    fastcgi_cache_valid 200 302 60m;    fastcgi_cache_valid 404 10m;    fastcgi_cache_use_stale error timeout invalid_header updating;    fastcgi_cache_key "$scheme$request_method$host$request_uri";    add_header X-Cache-Status $upstream_cache_status;全部完成。现在就可以享受动态缓存加速的快感了。记得修改之前记得配置备份!!!!!

IT618发布 发表于 6 天前

我正在阅读《用NG自带缓存模块解决动态缓存(非memcached或redis)》,推荐给您看看。原文地址:https://www.wenyunfang.com/zazhi/zhongwangjiaocheng/1371.html

1000金币到手,回复在领500金币

浅生 发表于 6 天前

建议直接小鸡反带,小鸡开ng缓存

IT618发布 发表于 6 天前

不错,支持一下。

拾光 发表于 6 天前

不错的分享

独家记忆 发表于 6 天前

狗头不对驴嘴。分享是分享。回答跑题了。不可能又是那个ID叫大圣软件直接AI回帖的吧
页: [1]
查看完整版本: 用NG自带缓存模块解决动态缓存(非memcached或redis)