如何配置nextcloud集成redis与apcu?

Cloud storage

1 基础知识

1.1 redis的作用

– redis内存缓存服务可以提高nextCloud服务器性能
– redis将经常请求的对象存储在内存中以加速检索速度
– redis属于分布式缓存

1.2 APCu的作用

– APCu中文翻译为APC用户缓存
– APCu属于本地缓存

2 最佳实践

2.1 环境配置

配置nextCloud环境,

如何部署CentOS 8.x nextCloud?


配置redis环境,

如何编译部署Redis?

2.2 配置集成

2.2.1 查看redis倾听端口

pgrep -u redis redis-server -a

可见如下显示,

10143 /usr/bin/redis-server 127.0.0.1:6379

2.2.2 确认redis认证

redis-cli
127.0.0.1:6379> auth redispasswd
OK
127.0.0.1:6379> quit

2.2.3 集成redis模块

cd ~
wget https://github.com/phpredis/phpredis/archive/5.3.2.tar.gz -O phpredis-5.3.2.tar.gz
tar -xf phpredis-5.3.2.tar.gz
cd ~/phpredis-5.3.2/
phpize
./configure
make
make install

模块编译安装之后,你需要增加如下配置使PHP加载如下模块,

echo 'extension=redis.so' >> /etc/php.ini

然后,配置需要重启或重载方能生效,

systemctl restart httpd.service

2.2.3 集成apcu模块

cd ~
wget https://pecl.php.net/get/apcu-5.1.19.tgz
tar -xf apcu-5.1.19.tgz
cd ~/apcu-5.1.19/
phpize
./configure
make
make install

模块编译安装之后,你需要增加如下配置使PHP加载如下模块,

echo 'extension=apcu.so' >> /etc/php.ini

然后,配置需要重启或重载方能生效,

systemctl restart httpd.service

2.2.3 修改配置

cp /var/www/nextcloud/config/config.php /var/www/nextcloud/config/config.php.save
vim /var/www/nextcloud/config/config.php

加入如下配置,

$CONFIG = array (
  [...]
  'memcache.local' => '\OC\Memcache\APCu',
  'memcache.distributed' => '\OC\Memcache\Redis',
  'memcache.locking' => '\OC\Memcache\Redis',
  'filelocking.enabled' => 'true',
  'redis' => [
    'host' => '127.0.0.1',
    'port' => 6379,
    'password' => 'redispasswd',
  ],

);

注:
– “[…]”表示省略的配置
– ‘memcache.local’配置声明启用本地式缓存使用“APCu”
– ‘memcache.distributed’配置声明启用分布式缓存使用“Redis”
– ‘memcache.locking’配置声明启用“Redis”缓存的文件锁

另外,以上配置修改后,查看“安全与设置”警告警告消失,
https://nextcloud.cmdschool.org/index.php/settings/admin/overview

需要注意的是,警告消失是由于配置本地缓存APCu而不是分布式缓存Redis

参阅文档
==================

nextcloud集成redis
——————
https://docs.nextcloud.com/server/20/admin_manual/configuration_server/caching_configuration.html

phpredis的源代码
—————-
https://github.com/phpredis/phpredis/releases

apcu模块下载
—————-
https://pecl.php.net/package/apcu

没有评论

发表回复

Cloud storage
如何输出NextCloud函数参数到日志?

1 前言 一个问题,一篇文章,一出故事。 笔者最近需要调试NextCloud的代码,因为需要监视参数 …

Cloud storage
如何使用Token认证API登录NextCloud?

1 前言 一个问题,一篇文章,一出故事。 笔者最近因为更换域名迁移用户而引发NextCloud客户端 …

Cloud storage
如何将NextCloud用户数据迁移给另一用户?

1 前言 一个问题,一篇文章,一出故事。 笔者发现NextCloud官方提供的如下数据迁移命令不是十 …