wordpress Redis+FastCGI Cache缓存

推广广告

图片[1]-wordpress Redis+FastCGI Cache缓存-RSG-人生观配置Redis

把下面代码粘贴到wp-config.php这个文件在web服务器的目录内。

define('WP_REDIS_HOST', 'rediswp'); 
define('WP_REDIS_PORT', 6379);
define('WP_REDIS_DATABASE', 0);
define('WP_REDIS_HOST', 'rediswp');中的rediswp需要修改为你的redis链接的地址,如果是docker,可以写docker的名字,如果是宝塔或者其他方式安装的可以写127.0.0.1。
如果redis有密码需要增加define('WP_REDIS_PASSWORD', '密码');注意替换密码为redis密码。

安装插件

进入wordpress后台插件,在线安装Redis Object Cache。

注意!如果是docker运行的,需要修改插件的配置文件,插件默认链接的目标地址是127.0.0.1,如果是宝塔等环境默认既可直接使用。

或者配置完成后,页面显示数据库链接错误,也需要修改。

配置文文件在wp-content/object-cache.php,修改行大约在623行,如果插件后期更新可能会有变动,可以自行查找。

注意如果没找到object-cache.php,可以去插件页面先启用,就可以看到object-cache.php文件了。

protected function build_parameters() {
        $parameters = [
            'scheme' => 'tcp',
            'host' => 'rediswp',
            'port' => 6379,
            'database' => 0,
            'timeout' => 1,
            'read_timeout' => 1,
            'retry_interval' => null,
            'persistent' => false,
        ];

修改host行的内容,到此插件安装完成。

配置nginx

FastCGI Cache是nginx默认就有的模块,就不用额外的在去编译模块了。

在nginx的http部分写入西面的配置

fastcgi_cache_path /cache levels=1:2 keys_zone=wpcache:128m inactive=1d max_size=1G;

配置中的wpcache 要与server配置中的参数一致,注意/cache 目录要提前创建好。

在server部分中加入下面的配置

fastcgi_cache wpcache;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
fastcgi_cache_valid 200 301 302 2h;
fastcgi_cache_use_stale error timeout invalid_header http_500;
fastcgi_cache_min_uses 1;
fastcgi_cache_lock on;
fastcgi_cache_bypass $skip_cache;
fastcgi_no_cache $skip_cache;
fastcgi_hide_header Pragma;
fastcgi_ignore_headers Cache-Control Expires;
add_header X-FastCGI-Cache $upstream_cache_status;

增加排除规则,以保证动态部分尤其是用户登录不受到影响。

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/*|/tag/.*/feed/*|index.php|/.*sitemap.*\.(xml|xsl)") {
   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;
   }

到此FastCGI Cache就配置好了。

额外部分

如果是docker,可以在docker中使用tmpfs使用内存当缓存的存放路径,获取最大性能。

tmpfs:
  - /cache:size=1g

其他系统可以使用其他部分使用内存当缓存,或者使用ssd 都可以。

推广广告
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容