NextCloud : memcache(memcached) 설정.

캐시는 필수 사항은 아니다. 따라서 지금까지(한 2년쯤?) 이 설정은 하지 않고 사용해왔다.
그러다가, 어제 갑자기 다른 오류를 막아보다가 이거까지 처리해버렸다.

다만, 공식 문서에 나온 내용이 살짝 이해가 되지 않고, 캐시에도 몇가지 종류가 있는 모양이라서, 검색 후 적절한 설정을 (무단으로!) 따라했다.
우분투 서버 20.04 환경이다.


NextCloud 에서 사용할 수 있는 메모리 캐싱 기술은 총 세가지라고 한다. APCu, Redis, Memcached. 캐시는 Local 과 Distributed 로 나눌 수 있는 모양인데, 뭐가 다른 건진 모르겠고, 굳이 알고 싶지도 않다. (꼭 필요한거면 몰라도.. 골치 아픈 건 귀찮아.)

하여, Local 은 APCu 로, Distrbuted 는 memcached 로 설치하기로 한다. 설정을 정확히 어떻게 해야 하는지 좀 애매하지만, 적어도 오류 메시지는 사라졌다.

먼저 APCu.

APCu 설치

$ sudo apt install php-apcu

공식 문서에 Warning 항목에 보면, apc.enable_cli=1 를 ‘어딘가에’ 추가하라고 하는데..
요 부분이 좀 애매하다.

PHP 7.4 를 쓰고 있는 내 우분투의 경우, 다음 파일에 추가하면 되는 듯하다.

#/etc/php/7.4/mods-available/apcu.ini
apc.enable_cli=1

이 파일은, 다음 두 파일에 링크 되어 있다.

/etc/php/7.4/cli/conf.d/20-apcu.ini
/etc/php/7.4/apache2/conf.d/20-apcu.ini
----------------------
$ ll /etc/php/7.4/cli/conf.d/20-apcu.ini
lrwxrwxrwx 1 root root 36 2021-08-16 16:00 /etc/php/7.4/cli/conf.d/20-apcu.ini -> /etc/php/7.4/mods-available/apcu.ini
$ ll /etc/php/7.4/apache2/conf.d/20-apcu.ini
lrwxrwxrwx 1 root root 36 2021-08-16 16:00 /etc/php/7.4/apache2/conf.d/20-apcu.ini -> /etc/php/7.4/mods-available/apcu.ini

NextCloud config.php 에도 한 줄 넣어야 하는데, 그건 Memcached 때 한꺼번에.

Memcached

다음 두 꾸러미를 설치한다.

sudo apt install memcached php-memcached

다른 설정은 불필요.
마지막으로 nextcloud/config/config.php 에 다음 내용을 추가한다.

  'memcache.local' => '\OC\Memcache\APCu',
  'memcache.distributed' => '\OC\Memcache\Memcached',
  'memcached_servers' => array(
     array('localhost', 11211),
     ),

memcached_servers 에는 뭘 넣어야 할 지 잘 모르겠는데, 위에 걸어놓은 글에 보면 그냥 localhost 만 넣어도 되는 모양이다. 다시 말하지만, 적어도 이렇게 하면 오류는 사라진다.

허나, 캐시 영향으로 눈에 띄게 뭔가 빨라졌다는 느낌은 들지 않네.

Author: 아무도안

안녕하세요. 글 남겨주셔서 고맙습니다.