Ubuntu 24.04에서 Nextcloud용 Redis 캐싱을 구성하는 방법
PhpRedis, APCu, 루프백 전용 Redis 서비스를 사용하여 Ubuntu 24.04에서 Nextcloud용 Redis 파일 잠금 및 분산 캐싱을 설정하고 실제 검증 단계를 안내합니다.
Nextcloud의 최신 관리 설명서에는 Redis 캐싱 및 트랜잭션 파일 잠금을 위한 PhpRedis 확장 프로그램에 대한 내용이 여전히 나와 있습니다. 또한 Nextcloud 34.0.2에 추가된 확장 프로그램이 필요 없는 새로운 KeyValueCache 백엔드에 대한 내용도 포함되어 있습니다. 이 가이드에서는 Ubuntu 24.04에 PHP 8.3 Redis 확장 패키지가 포함되어 있으므로 기존의 PhpRedis 구성을 사용합니다. 사용 중인 Nextcloud 버전에서 최신 백엔드를 지원하는 경우 해당 백엔드를 사용할 수 있지만, 구성 키가 다르므로 두 예제를 혼용하지 마십시오.
결과적으로 Nextcloud 호스트에서만 사용 가능한 로컬 Redis 서비스, Redis 기반 분산 캐시 및 파일 잠금 기능, 그리고 더 빠른 로컬 캐시를 위한 APCu가 생성됩니다. 이는 일반적인 단일 서버 구성입니다. 웹 서버와 PHP 서버가 여러 호스트에 분산되어 있는 경우, 아래의 localhost 설정 대신 적절한 네트워크 제어를 사용하여 공유 Redis 엔드포인트를 사용하십시오.
Redis는 Nextcloud에 분산 캐시 항목 및 트랜잭션 파일 잠금을 위한 키-값 서비스를 제공합니다. 이러한 잠금은 여러 요청이 파일을 동시에 처리할 때 발생하는 충돌을 방지하는 데 도움이 됩니다. Redis는 Nextcloud의 데이터베이스, 파일 저장소, PHP OPcache 또는 백업 계획을 대체하는 것이 아닙니다. 단일 서버에서는 로컬 프로세스 내 캐싱에 APCu가 일반적으로 더 빠르며, Redis는 공유 캐시 및 잠금을 처리합니다. Nextcloud는 특히 여러 웹 서버를 사용하는 경우 Redis를 로컬 캐시로 사용하는 것을 권장하지 않는다고 경고합니다.
Nextcloud의 최신 설명서에서는 Redis를 지원되는 백엔드로 명시하고 있으며, 확장 기반 방식에는 PhpRedis 2.2.6 이상 버전을 권장합니다. Ubuntu 24.04의 패키지 아카이브에는 php8.3-redis와 가 포함되어 있습니다 redis-server. Ubuntu 업데이트에 따라 패키지 버전이 변경될 수 있으므로, 이전 가이드에서 복사한 버전을 고정하는 대신 구성된 Ubuntu 저장소에서 설치하십시오. 2026년 10월 6일 확인된 참고 자료: Nextcloud 메모리 캐싱 문서 , Ubuntu 24.04 PhpRedis 패키지 목록 , Ubuntu 24.04 Redis 서버 패키지 목록 .
www-data.config/config.php고 복원 방법을 기록해 두세요. 정확한 경로는 경우에 따라 다릅니다. 예를 들어, 패키지 설치의 경우 특정 경로를 사용할 수 있지만 /var/www/nextcloud/config/config.php, 수동 설치의 경우 다른 위치에 있을 수 있습니다.패키지 메타데이터를 업데이트하고 데몬 및 PHP 확장 프로그램을 설치합니다.
sudo apt update
sudo apt install redis-server php-redis php-apcu
Ubuntu php-redis패키지 관리자는 설치된 PHP 버전에 맞는 확장 프로그램을 선택합니다. 여러 PHP 버전을 관리하거나 타사 PHP 저장소를 사용하는 경우, Nextcloud에서 사용하는 정확한 PHP 버전에 맞는 확장 프로그램이 설치되어 있는지 확인하십시오. 명령줄 PHP 런타임에서만 활성화된 모듈은 Apache 또는 PHP-FPM에서 로드될 수 있다는 보장을 제공하지 않습니다.
Redis를 부팅 시 자동 실행되도록 설정하고 지금 바로 시작한 다음 서비스 상태를 확인하세요.
sudo systemctl enable --now redis-server
sudo systemctl status redis-server --no-pager
redis-cli ping
정상적인 로컬 Redis 응답은 마지막 명령에 대한 응답입니다 PONG. 서비스가 비활성화된 경우 sudo journalctl -u redis-server -n 50 --no-pagerNextcloud 구성을 변경하기 전에 확인하십시오.
단일 호스트 설치의 경우 Redis는 공용 인터페이스에서 수신 대기할 필요가 없습니다. Ubuntu의 기본 구성은 일반적으로 로컬 액세스 및 보호 모드에 맞춰 설계되었으므로 /etc/redis/redis.conf변경하기 전에 설정을 확인하십시오.
sudo grep -E '^(bind|protected-mode|port|unixsocket)' /etc/redis/redis.conf
127.0.0.1Redis를 루프백 인터페이스(일반적으로 `/etc/redis.h` 및 `/etc/redis.h`) 에 바인딩하고 보호 모드를 활성화된 상태로 유지하십시오 . 이 로컬 설정에서는 `/etc/redis.h` 포트를 인터넷에 ::1노출하거나 `/etc/redis.h`에 바인딩하지 마십시오 . Redis 구성을 변경한 후에는 서비스를 다시 시작하고 위의 단계를 반복하십시오 .63790.0.0.0redis-cli ping
이 가이드에서는 소켓 권한 변경을 최소화하기 위해 로컬 호스트에서 TCP를 사용합니다. 유닉스 소켓도 지원되는 로컬 옵션이며 연결 오버헤드를 줄일 수 있지만, Redis 소켓 경로, 그룹 소유권, 권한 및 Nextcloud 구성이 모두 일치해야 합니다. 유닉스 소켓을 사용하려면 Nextcloud 설명서의 소켓 예제를 참조하십시오.
명령줄 PHP 모듈을 확인하세요:
php -m | grep -Ei '^(apcu|redis)$'
두 이름 모두 표시되어야 합니다. 하나라도 누락된 경우, 활성화된 모듈 파일을 확인 php --ini하고 PHP 버전에 맞는 패키지를 설치하십시오. 웹사이트에서 사용하는 PHP 핸들러를 재시작하여 워커가 새 모듈을 로드하도록 하십시오. mod_php를 사용하는 Apache의 경우, `php -p`를 실행하십시오 sudo systemctl restart apache2. PHP 8.3을 사용하는 PHP-FPM 설치의 경우, `php -p`를 실행하십시오 sudo systemctl restart php8.3-fpm. 배포 환경에 따라 웹 서버를 재시작하거나 다시 로드하십시오.
CLI 검사는 유용한 초기 신호일 뿐, 웹 런타임이 제대로 작동하는지 완벽하게 증명하는 것은 아닙니다. 이후에는 Nextcloud 관리 설정에서 서버 정보 또는 PHP 정보 보기를 사용하여 웹 프로세스가 캐시 모듈을 인식하는지 확인하십시오.
기존 파일을 config/config.php편집기로 엽니다. 먼저 파일을 백업하고, 파일을 닫기 전에 이 항목들을 기존 PHP 배열에 병합합니다 );. 파일 전체를 덮어쓰거나 이미 존재하는 키를 두 번째로 추가하지 마십시오.
'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
'host' => '127.0.0.1',
'port' => 6379,
],
명시적인 루프백 주소는 로컬 Redis 서비스와 일치합니다. Unix 소켓을 사용하는 경우 소켓 경로를 Redis 호스트로 사용하고 데몬 및 권한을 일치하도록 구성하십시오. Redis에 인증이 필요한 경우 올바른 Redis ACL 사용자 이름과 암호를 배열에 추가하고 redisRedis를 accordingly 구성하십시오. 공유 예제나 공개 지원 게시물에 실제 암호를 붙여넣지 마십시오.
데이터베이스 자격 증명, 신뢰할 수 있는 도메인, 데이터 디렉터리와 같은 기존 설정은 instanceid변경하지 마십시오. PHP 배열 구문은 중요합니다. 항목 사이에 쉼표를 유지하고 각 설정이 한 번만 나타나도록 하십시오.
웹 서비스 사용자 계정으로 설치 디렉터리에서 Nextcloud의 명령줄 상태 확인을 실행하십시오. 설치 위치가 다른 경우 예시 경로를 변경하십시오.
cd /var/www/nextcloud
sudo -u www-data php occ status
웹 인터페이스의 관리 설정 에서 설정 경고를 확인하고, Redis 및 APCu 모듈이 웹 PHP 런타임에서 인식되는지 확인하십시오. 그런 다음 중요하지 않은 작은 파일을 사용하여 일반적인 파일 작업을 테스트하십시오. 파일을 업로드하고, 이름을 변경하고, 다운로드하고, 삭제해 보십시오. 로컬 캐시가 올바르게 구성되면 관리자 페이지에 메모리 캐시가 없다는 메시지가 더 이상 표시되지 않아야 합니다.
테스트 성공은 PONGRedis가 로컬 CLI 클라이언트에 응답한다는 것만 입증합니다. Nextcloud 관리자 확인 및 일반적인 파일 작업은 PHP 확장 프로그램, 웹 서버 권한, Redis 연결 설정 및 애플리케이션 구성을 종합적으로 검증하는 데 도움이 됩니다. 한 번의 테스트에서 페이지 로드 속도가 빨라졌다고 해서 성능 향상을 입증하는 것으로 간주해서는 안 됩니다. 작업 부하, 스토리지, 데이터베이스 및 PHP 워커 용량 모두 응답 시간에 영향을 미칩니다.
중복되거나 오타가 있는 캐시 키가 있는지 확인하고, 해당 memcache.local키가 APCu를 가리키는지 확인한 후, 올바른 Apache 또는 PHP-FPM 서비스를 다시 시작하십시오. CLI 전용 PHP 설치는 웹사이트에서 사용하는 PHP 런타임과 다를 수 있습니다.
host와 port를 config.php리스너와 비교하십시오 /etc/redis/redis.conf. 를 사용하여 로컬 액세스를 확인 redis-cli -h 127.0.0.1 -p 6379 ping하고 Redis 및 웹 서버 로그를 검토하십시오. 소켓 또는 암호를 사용하는 경우 양쪽에서 경로 또는 자격 증명이 일치하는지 확인하십시오.
인스턴스를 사용할 수 없게 되면 백업된 데이터를 임시로 복원한 config.php다음 PHP 및 웹 서버 로그를 검사하십시오. 배열의 구두점을 확인하고, Redis 서비스가 활성화되어 있는지 확인하고, 방화벽이나 사용자 지정 Redis ACL이 웹 프로세스를 차단하지 않는지 확인하십시오. 문제 해결의 첫 단계로 Redis 데이터를 삭제하지 마십시오. 캐시 또는 잠금 항목을 제거하기 전에 연결 및 구성을 조사하십시오.
이 구성은 단일 서버 구성이며, 고가용성 Redis 설계가 아닙니다. Redis 복제, Sentinel, TLS, 원격 캐시 호스트, 세션 저장소 또는 클러스터형 Nextcloud 배포를 구성하지 않습니다. 다중 서버 Nextcloud 노드는 동일한 분산 캐시 및 잠금 백엔드를 공유해야 합니다. 각 노드의 localhost는 별도의 Redis 인스턴스를 생성하여 이러한 요구 사항을 충족하지 못합니다. 원격 또는 클러스터 토폴로지의 경우, 해당 Nextcloud 구성 섹션을 참조하여 해당 환경에 맞는 Redis 통신 보안을 설정하십시오.
구성이 안정화되면 Redis 메모리 사용량과 Nextcloud 관리 개요를 모니터링하십시오. 캐시 및 잠금 활동에 충분한 메모리를 할당하고, 잠금 데이터를 폐기할 수 있는 검토되지 않은 제거 정책을 피하며, 정기적인 데이터베이스 및 파일 백업을 유지하십시오. Redis 캐싱은 캐시 및 잠금 오버헤드를 줄일 수 있지만, 용량 계획을 대체하는 것이 아니라 안정적인 Nextcloud 설치를 위한 하나의 요소일 뿐입니다.
PhpRedis, APCu, 루프백 전용 Redis 서비스를 사용하여 Ubuntu 24.04에서 Nextcloud용 Redis 파일 잠금 및 분산 캐싱을 설정하고 실제 검증 단계를 안내합니다.
메시지 기록을 손상시키지 않고 장치 인증, 키 백업, 복구 키 및 누락된 룸 키를 확인하여 Element Web 암호 해독 오류를 해결하세요.
Nextcloud 2FA 공급자를 활성화하고, 사용자 또는 그룹에 대한 2단계 인증을 적용하고, 복구를 준비하고, 로그인 및 클라이언트 앱을 확인하는 방법을 알아보세요.
zimbraMtaMyNetworks를 사용하여 Zimbra에서 인증되지 않은 아웃바운드 메일 릴레이를 신뢰할 수 있는 IP 주소로 제한하세요. 허용 목록을 안전하게 검사, 업데이트, 다시 로드 및 확인하는 방법을 알아보세요.
Nextcloud의 PHP memory_limit을 최소 512M로 설정하고, 올바른 웹 PHP 구성을 찾은 다음, Apache 또는 PHP-FPM을 다시 시작하고 경고가 사라졌는지 확인하십시오.
Synapse를 사용하여 Matrix WebRTC 통화를 위한 Coturn 설정을 구성합니다. 공유 자격 증명, NAT, 방화벽 포트, TLS 옵션을 구성하고 기존 TURN과 MatrixRTC 및 LiveKit을 구분합니다.
Nextcloud 메일을 Gmail 또는 Microsoft 365용 OAuth2로 구성하고, IMAP/SMTP 액세스를 확인하고, 리디렉션 문제를 해결하고, 제한 사항을 파악하세요.
Element의 "ID 확인 불가" 세션 경고를 해결하려면 다른 신뢰할 수 있는 장치 또는 복구 키를 사용하여 인증하고, 재설정이 안전한 시점을 알아보세요.
Kopano 마이그레이션과 grommunio 및 Zammad 마이그레이션을 비교해 보세요. 각 마이그레이션 경로에서 보존할 수 있는 사서함 데이터, 테스트 및 결과 검증 방법, 그리고 IMAP 또는 사용자 지정 가져오기가 적합한 경우를 알아보세요.
Nextcloud 데이터 디렉토리를 파일 참조를 손상시키지 않고 외장 하드 드라이브로 이동하는 방법입니다. 백업, 영구 마운트, rsync, 권한 설정 및 심볼릭 링크를 안전하게 활용하세요.