캐시는 필수 사항은 아니다. 따라서 지금까지(한 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
** 23.01.16 : 여긴 다시 확인해볼 필요가 있다!!!
다음 두 꾸러미를 설치한다.
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 만 넣어도 되는 모양이다. 다시 말하지만, 적어도 이렇게 하면 오류는 사라진다.
허나, 캐시 영향으로 눈에 띄게 뭔가 빨라졌다는 느낌은 들지 않네.