WordPress – Nginx+Redis Cache缓存的配置代码

2019年5月30日09:15:16 14 2,444
华为828

昨天大鸟分享了Nginx+Redis Cache缓存提速网站,因为Nginx-helper插件是可以开启两个缓存:nginx Fastcgi cache和Redis cache。这两个缓存无论是配置哪个,对于提升网站速度都是非常优秀的。

对于并发来说Redis cache缓存更优秀,不过对于个人博客来说,就是安装一个WP Super Cache也是足够应付日常了,我们应该把更多的心思放在内容上。

WordPress – Nginx+Redis Cache缓存的配置代码

今天这篇文章说什么呢,还是关于Nginx+Redis Cache缓存配置,因为昨天说的也比较详细了,所以今天大鸟只是贴一下代码,昨天的代码和今天的代码不太一样,但是功能是一样的。不过学习这篇文章之前,我们需要看看以下文章:

我们打开宝塔面板的网站配置,或者在路径/www/server/panel/vhost/nginx中把自己网站的conf文件打开配置。把以下代码贴进去,额,该修改的还是要修改下的。

server
{
    listen 80;
    listen 443 ssl http2;
    server_name www.daniao.org;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/www.daniao.org;
    
  
  
    set $skip_cache 0;

    # POST requests and urls with a query string should always go to PHP
    if ($request_method = POST) {
        set $skip_cache 1;
    }   
    if ($query_string != "") {
        set $skip_cache 1;
    }   

    #后台等特定页面不缓存(其他需求请自行添加即可)
    if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml") {
        set $skip_cache 1;
    }   

    #不缓存登陆用户和最近评论的用户
    if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") {
        set $skip_cache 1;
    }

    location /redis-fetch {
        internal  ;
        set  $redis_key $args;
        redis_pass  127.0.0.1:6379;
    }

    location /redis-store {
        internal  ;
        set_unescape_uri $key $arg_key ;
        redis2_query  set $key $echo_request_body;
        redis2_query expire $key 14400;
        redis2_pass  127.0.0.1:6379;
    } 

    location ~ \.php$ {
        
        set $key "nginx-cache:$scheme$request_method$host$request_uri";
        try_files $uri =404;

        srcache_fetch_skip $skip_cache;
        srcache_store_skip $skip_cache;

        srcache_response_cache_control off;

        set_escape_uri $escaped_key $key;

        srcache_fetch GET /redis-fetch $key;
        srcache_store PUT /redis-store key=$escaped_key;

        more_set_headers 'X-Cache $srcache_fetch_status';
        
   
        fastcgi_pass unix:/tmp/php-cgi-72.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
    }
  
    #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
    #以下省略....................

这个配置代码和昨天的代码可以结合起来看,不过任何一个代码都可以成功开启Nginx+Redis Cache缓存。

开启之后,对于网站速度提升有非常大的飞跃^ _ ^

 

  • 我的微信
  • 分享宝塔面板建站技术交流等!
  • weinxin
  • 博客公众号
  • 关注本博公众号
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:14   其中:访客  7   博主  7

    • avatar 缙哥哥 6

      不是一个插件就能解决吗?

        • avatar 大鸟 Admin

          @缙哥哥 不是的,这个是基于nginx的redis缓存,nginx-helper里面可以开启使用这个缓存!

            • avatar 缙哥哥 6

              @大鸟 可以跟WordPress的memcached缓存同时存在吗?不知道nginx的redis缓存占用如何,以及nginx-helper插件更新能否清理内存缓存。

                • avatar 大鸟 Admin

                  @缙哥哥 bt.woweiwang.org可以去看看效果,linode多伦多的vps。nginx的redis缓存的并发效果更好,不过无论哪种都很强大,我这里就是瞎折腾!

                    • avatar 缙哥哥 6

                      @大鸟 因为我发现了一个问题。单纯使用memcached的时候,内存占用不多,64M足矣。但是nginx缓存文件能达到一两个G,这样2G内存的服务器就不能用内存盘。如果说nginx缓存放硬盘,同时做了redis缓存,也是64-128足矣,那就很好了!

                • avatar 大鸟 Admin

                  @缙哥哥 Redis缓存主要为了动态加速,有利于减少数据库查询次数,对于Wordpress有一定的加速作用。Redis Object Cache就是这样一个插件,前提是你需要在你的VPS主机上启用Redis。所以你启用Redis Object Cache试试看!

                    • avatar 缙哥哥 6

                      @大鸟 这个我用过,某个网站因为不适合memcached,我就用了redis

                        • avatar 大鸟 Admin

                          @缙哥哥 我自己目前就是Nginx fastcgi_cache+Redis Object Cache来配合,感觉还不错!

                    • avatar 心灵博客 4

                      你怎么能更新这么快啊?
                      教教我

                        • avatar 大鸟 Admin

                          @心灵博客 你的站,是秒开。速度非常快,博客能坚持下来很不容易。慢慢坚持吧!

                            • avatar 心灵博客 4

                              @大鸟 你的评论通知邮件服务器是自己搭建的吗?有没有写这个的教程?头像是怎么弄的?

                            • avatar 大鸟 Admin

                              @心灵博客 WordPress利用MailPoet+Zoho Mail自建邮件通知系统-用户订阅和管理
                              https://www.daniao.org/4069.html
                              Gravatar头像,用邮箱申请就可以了。

                            • avatar 奶爸de笔记 5

                              内容才是王道,剩下的让我们去抄。

                                • avatar 大鸟 Admin

                                  @奶爸de笔记 对,对,让我们抄的更激烈一点吧! :lol: :lol: