Jak skonfigurować buforowanie Redis dla NextCloud w systemie Ubuntu 24.04

Aktualny podręcznik administracyjny Nextcloud nadal dokumentuje rozszerzenie PhpRedis do buforowania Redis i blokowania plików transakcyjnych. Opisuje również nowszy, bezrozszerzeniowy backend KeyValueCache dodany w Nextcloud 34.0.2. W tym podręczniku wykorzystano sprawdzoną konfigurację PhpRedis, ponieważ Ubuntu 24.04 zawiera pakiet rozszerzeń PHP 8.3 Redis. Nowszy backend jest dostępny, jeśli obsługuje go Twoja wersja Nextcloud, ale jego klucze konfiguracyjne różnią się; nie należy mieszać tych dwóch przykładów.

Rezultatem będzie lokalna usługa Redis dostępna tylko dla hosta Nextcloud, rozproszona pamięć podręczna i blokowanie plików obsługiwane przez Redis oraz APCu dla szybszej lokalnej pamięci podręcznej. Jest to typowy układ z jednym serwerem. Jeśli serwery WWW i PHP są rozdzielone na hosty, użyj współdzielonego punktu końcowego Redis z odpowiednimi ustawieniami sieciowymi zamiast poniższych ustawień hosta lokalnego.

Co Redis zmienia w instalacji Nextcloud

Redis udostępnia Nextcloud usługę klucz-wartość dla rozproszonych wpisów w pamięci podręcznej i transakcyjnych blokad plików. Blokady te pomagają zapobiegać konfliktom operacji, gdy wiele żądań dotyczy plików. Redis nie zastępuje bazy danych, pamięci masowej plików, PHP OPcache ani planu tworzenia kopii zapasowych Nextcloud. Na pojedynczym serwerze APCu jest generalnie szybsze w przypadku lokalnego buforowania w trakcie przetwarzania, podczas gdy Redis obsługuje współdzieloną pamięć podręczną i blokady. Nextcloud ostrzega również, że używanie Redis jako lokalnej pamięci podręcznej nie jest zalecane, szczególnie w przypadku wielu serwerów WWW.

Najnowszy podręcznik Nextcloud identyfikuje Redis jako obsługiwany backend i określa PhpRedis w wersji 2.2.6 lub nowszej dla metody opartej na rozszerzeniach. Archiwum pakietów Ubuntu 24.04 zawiera php8.3-redisi redis-server. Wersje pakietów mogą się zmieniać w miarę publikowania aktualizacji przez Ubuntu, dlatego należy instalować je ze skonfigurowanych repozytoriów Ubuntu, zamiast przypinać wersję skopiowaną ze starszego podręcznika. Odniesienia sprawdzone 6 października 2026 r.: dokumentacja buforowania pamięci Nextcloud , lista pakietów PhpRedis w Ubuntu 24.04 oraz lista pakietów serwera Redis w Ubuntu 24.04 .

Zanim zaczniesz

  • Sprawdź katalog instalacyjny Nextcloud oraz środowisko uruchomieniowe PHP używane przez witrynę. Poniższe polecenia zakładają standardową instalację pakietu Ubuntu z PHP 8.3, Apache lub PHP-FPM oraz kontem usługi sieciowej www-data.
  • Utwórz kopię zapasową config/config.phpi zanotuj, jak ją przywrócić. Dokładna ścieżka jest różna: na przykład instalacja pakietu może korzystać z /var/www/nextcloud/config/config.php, podczas gdy instalacja ręczna może być wykonywana gdzie indziej.
  • Użyj okna konserwacyjnego, jeśli serwer obsługuje aktywne przesyłanie plików. Ponowne uruchomienie Apache'a lub PHP-FPM na krótko przerywa żądania internetowe.

1. Zainstaluj Redis, PhpRedis i APCu

Zaktualizuj metadane pakietu i zainstaluj demona oraz rozszerzenia PHP:

sudo apt update
sudo apt install redis-server php-redis php-apcu

Pakiet Ubuntu php-rediswybiera rozszerzenie dla zainstalowanej wersji PHP. Jeśli utrzymujesz wiele wersji PHP lub korzystasz z zewnętrznego repozytorium PHP, sprawdź, czy rozszerzenie jest zainstalowane dla konkretnej wersji PHP obsługującej NextCloud. Samo włączenie modułu dla środowiska uruchomieniowego PHP z wiersza poleceń nie gwarantuje, że Apache lub PHP-FPM będzie w stanie go załadować.

Włącz Redis podczas rozruchu i uruchom go teraz, a następnie sprawdź stan jego usług:

sudo systemctl enable --now redis-server
sudo systemctl status redis-server --no-pager
redis-cli ping

Prawidłowa lokalna odpowiedź Redis na ostatnie polecenie to PONG. Jeśli usługa jest nieaktywna, sprawdź ją sudo journalctl -u redis-server -n 50 --no-pagerprzed zmianą konfiguracji NextCloud.

2. Utrzymuj lokalny odbiornik Redis

W przypadku instalacji na pojedynczym hoście Redis nie musi nasłuchiwać na publicznym interfejsie. Konfiguracja pakietowa Ubuntu jest zazwyczaj zaprojektowana z myślą o dostępie lokalnym i trybie chronionym; /etc/redis/redis.confprzed jej zmianą należy ją sprawdzić:

sudo grep -E '^(bind|protected-mode|port|unixsocket)' /etc/redis/redis.conf

Utrzymaj powiązanie Redis z pętlą zwrotną (zwykle 127.0.0.1i ::1) i pozostaw włączony tryb chroniony. Nie udostępniaj portu 6379do internetu ani nie wiąż go 0.0.0.0z tą lokalną konfiguracją. Po każdej zmianie konfiguracji Redis zrestartuj usługę i powtórz redis-cli ping.

W tym przewodniku wykorzystano protokół TCP na hoście lokalnym, aby zminimalizować zmiany uprawnień do gniazd. Gniazdo Unix to kolejna obsługiwana opcja lokalna, która może zmniejszyć obciążenie połączenia, ale ścieżka gniazda Redis, własność grupy, uprawnienia i konfiguracja Nextcloud muszą być zgodne. Jeśli celowo wybierzesz tę ścieżkę, postępuj zgodnie z przykładem gniazda z podręcznika Nextcloud.

3. Sprawdź, czy PHP może załadować oba rozszerzenia

Sprawdź moduły PHP wiersza poleceń:

php -m | grep -Ei '^(apcu|redis)$'

Powinny być widoczne obie nazwy. Jeśli brakuje którejś z nich, sprawdź włączone pliki modułów za pomocą php --inii zainstaluj odpowiedni pakiet dla swojej wersji PHP. Uruchom ponownie moduł obsługi PHP używany przez witrynę, aby jego serwery robocze załadowały nowe moduły. W przypadku serwera Apache z modułem mod_php, uruchom polecenie sudo systemctl restart apache2. W przypadku instalacji PHP-FPM z użyciem PHP 8.3, uruchom polecenie sudo systemctl restart php8.3-fpm; zrestartuj lub przeładuj serwer WWW, zależnie od potrzeb wdrożenia.

Sprawdzenie CLI to przydatny pierwszy sygnał, a nie kompletny dowód działania środowiska uruchomieniowego. Następnie należy użyć ustawień administracyjnych NextCloud i informacji o serwerze lub widoku informacji PHP, aby sprawdzić, czy proces internetowy rozpoznaje moduły pamięci podręcznej.

4. Dodaj ustawienia pamięci podręcznej do NextCloud

Otwórz istniejący plik config/config.phpw edytorze. Najpierw utwórz kopię zapasową pliku i scal te wpisy z istniejącą tablicą PHP przed jej zamknięciem );. Nie zastępuj całego pliku ani nie dodawaj drugiej kopii kluczy, które już istnieją.

'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
    'host' => '127.0.0.1',
    'port' => 6379,
],

Jawny adres pętli zwrotnej odpowiada lokalnej usłudze Redis. Jeśli zamiast tego używasz gniazda Unix, użyj ścieżki gniazda jako hosta Redis i skonfiguruj demona oraz uprawnienia tak, aby były zgodne. Jeśli Redis wymaga uwierzytelnienia, dodaj poprawną nazwę użytkownika i hasło listy kontroli dostępu Redis do tablicy redisi odpowiednio skonfiguruj Redis; nigdy nie wklejaj prawdziwego hasła do udostępnionego przykładu ani publicznego wpisu pomocy technicznej.

Zachowaj niezmienione istniejące ustawienia, takie jak instanceiddane uwierzytelniające bazy danych, zaufane domeny i katalog danych. Składnia tablicy PHP ma znaczenie: zachowaj przecinki między wpisami i upewnij się, że każde ustawienie występuje tylko raz.

5. Sprawdź poprawność pamięci podręcznej i blokowania plików

Uruchom sprawdzanie stanu wiersza poleceń NextCloud z poziomu katalogu instalacyjnego jako użytkownik usługi sieciowej. Zastąp przykładową ścieżkę, jeśli instalacja znajduje się gdzie indziej:

cd /var/www/nextcloud
sudo -u www-data php occ status

Sprawdź interfejs webowy w ustawieniach administracyjnych pod kątem ostrzeżeń dotyczących konfiguracji i upewnij się, że moduły Redis i APCu są widoczne dla środowiska wykonawczego PHP w przeglądarce. Następnie przetestuj normalne operacje na plikach na małym, niekrytycznym pliku: prześlij go, zmień jego nazwę, pobierz i usuń. Strona administratora nie powinna już zgłaszać braku pamięci podręcznej, gdy pamięć podręczna lokalna jest poprawnie skonfigurowana.

Pomyślny wynik PONGtestu dowodzi jedynie, że Redis odpowiada lokalnemu klientowi CLI. Kontrola administratora Nextcloud i rutynowe operacje na plikach pomagają zweryfikować rozszerzenie PHP, uprawnienia serwera WWW, ustawienia połączenia Redis i konfigurację aplikacji. Nie należy traktować szybszego ładowania strony podczas jednego testu jako dowodu mierzalnej poprawy wydajności; obciążenie, pamięć masowa, baza danych i wydajność procesu roboczego PHP wpływają na czas reakcji.

Rozwiązywanie typowych problemów

Strona administratora nadal zgłasza brak pamięci podręcznej

Sprawdź, czy klucz pamięci podręcznej nie jest zduplikowany lub błędnie wpisany, upewnij się, że memcache.localwskazuje na APCu i uruchom ponownie prawidłową usługę Apache lub PHP-FPM. Instalacja PHP tylko w interfejsie CLI może różnić się od środowiska uruchomieniowego PHP używanego przez witrynę.

Redis działa, ale NextCloud zgłasza błędy połączenia

Porównaj hosti portz config.phpprogramem nasłuchującym w /etc/redis/redis.conf. Potwierdź dostęp lokalny za pomocą redis-cli -h 127.0.0.1 -p 6379 pingi przejrzyj logi Redis i serwera WWW. Jeśli używasz gniazda lub hasła, sprawdź, czy ścieżka lub dane uwierzytelniające są zgodne po obu stronach.

Operacje na plikach nie powiodą się po zmianie

Tymczasowo przywróć kopię zapasową, config.phpjeśli instancja stanie się bezużyteczna, a następnie sprawdź logi PHP i serwera WWW. Sprawdź interpunkcję w tablicy, upewnij się, że usługa Redis jest aktywna i upewnij się, że żadna zapora sieciowa ani niestandardowa lista kontroli dostępu (ACL) Redis nie blokuje procesu WWW. Unikaj czyszczenia danych Redis jako pierwszego kroku rozwiązywania problemów; sprawdź połączenie i konfigurację przed usunięciem wpisów pamięci podręcznej lub blokad.

Czego ta konfiguracja nie obejmuje

Jest to konfiguracja jednoserwerowa, a nie projekt Redis o wysokiej dostępności. Nie konfiguruje replikacji Redis, Sentinel, TLS, zdalnego hosta pamięci podręcznej, pamięci sesji ani klastrowanego wdrożenia Nextcloud. Wieloserwerowe węzły Nextcloud muszą współdzielić tę samą rozproszoną pamięć podręczną i blokujące zaplecze; host lokalny na każdym węźle utworzyłby oddzielne instancje Redis i zniweczyłby ten wymóg. W przypadku topologii zdalnej lub klastrowej należy postępować zgodnie z odpowiednią sekcją konfiguracji Nextcloud i zabezpieczyć komunikację Redis dla danego środowiska.

Po ustabilizowaniu konfiguracji należy monitorować wykorzystanie pamięci Redis oraz przegląd administracyjny Nextcloud. Przydziel wystarczającą ilość pamięci na buforowanie i blokowanie, unikaj nieprzejrzanych zasad usuwania, które mogłyby usunąć dane z blokad, oraz utrzymuj standardowe kopie zapasowe baz danych i plików. Buforowanie Redis może zmniejszyć obciążenie buforowania i blokowania, ale jest to tylko jeden z elementów sprawnej instalacji Nextcloud, a nie substytut planowania pojemności.

Zostaw komentarz

10 najlepszych narzędzi do pingowania w celu znajdowania urządzeń w sieci

10 najlepszych narzędzi do pingowania w celu znajdowania urządzeń w sieci

Porównaj 10 narzędzi do pingowania, które umożliwiają szybkie wykrywanie sieci LAN, skanowanie międzyplatformowe i zarządzanie adresami IP. Dowiedz się, co narzędzie pingujące może Ci powiedzieć, a czego nie.

6 najlepszych narzędzi do zarządzania siecią, umożliwiających śledzenie wydajności

6 najlepszych narzędzi do zarządzania siecią, umożliwiających śledzenie wydajności

Porównaj sześć narzędzi do zarządzania siecią służących do monitorowania wydajności, obejmujących zasięg SNMP, mapowanie, alerty, modele wdrażania i kompromisy kosztów.

Ping Monitor: 7 darmowych i otwartych narzędzi do monitorowania dostępności sieci

Ping Monitor: 7 darmowych i otwartych narzędzi do monitorowania dostępności sieci

Porównaj siedem darmowych i otwartych monitorów pingów — od kompletnych pakietów sieciowych po ukierunkowane sondy opóźnień — i wybierz odpowiedni monitor pod kątem dostępności, utraty pakietów i historii.

QoS w sieciach: czym jest jakość usług i jak działa

QoS w sieciach: czym jest jakość usług i jak działa

Dowiedz się, co oznacza QoS w sieciach, w jaki sposób oznaczenia DSCP i kolejki ruchu nadają priorytet aplikacjom głosowym, wideo i biznesowym oraz czego QoS nie jest w stanie naprawić.

Najlepsze oprogramowanie serwera SFTP do bezpiecznego przesyłania plików

Najlepsze oprogramowanie serwera SFTP do bezpiecznego przesyłania plików

Porównaj niezawodne oprogramowanie serwera SFTP dla systemów Windows i Linux, w tym OpenSSH, Bitvise, SolarWinds i SFTPGo. Znajdź rozwiązanie odpowiednie dla swoich potrzeb w zakresie bezpieczeństwa i transferu plików.

7 najlepszych narzędzi do zarządzania adresami IP dla zespołów sieciowych

7 najlepszych narzędzi do zarządzania adresami IP dla zespołów sieciowych

Porównaj siedem narzędzi do zarządzania adresami IP służących do wykrywania podsieci, koordynacji DNS i DHCP, inwentaryzacji sieci i otwartego oprogramowania IPAM.

6 najlepszych narzędzi do monitorowania serwerów Windows Server zapewniających lepszą dostępność i wydajność

6 najlepszych narzędzi do monitorowania serwerów Windows Server zapewniających lepszą dostępność i wydajność

Porównaj sześć narzędzi do monitorowania systemu Windows Server pod kątem zbierania danych systemu Windows, widoczności aplikacji, modelu wdrażania i licencjonowania, aby znaleźć odpowiednie rozwiązanie.

10 najlepszych narzędzi do skanowania sieci w celu wykrywania urządzeń i adresów IP

10 najlepszych narzędzi do skanowania sieci w celu wykrywania urządzeń i adresów IP

Porównaj narzędzia do skanowania sieciowego umożliwiające szybkie wykrywanie urządzeń, skanowanie adresów IP na wielu platformach oraz zarządzanie IPAM w przedsiębiorstwie. Znajdziesz tu wskazówki dotyczące dopasowania każdej opcji do swojej sieci.

Najlepsze praktyki monitorowania sieci: co śledzić i jakich narzędzi używać

Najlepsze praktyki monitorowania sieci: co śledzić i jakich narzędzi używać

Zbuduj praktyczny monitoring sieci z przejrzystym zakresem urządzeń, przydatnymi wskaźnikami wydajności, przydatnymi alertami oraz porównaniem SolarWinds NPM, PRTG i OpManager.

Jak używać Nmap do śledzenia trasy i odczytywania ścieżki sieciowej

Jak używać Nmap do śledzenia trasy i odczytywania ścieżki sieciowej

Użyj opcji --traceroute programu Nmap, aby mapować przeskoki do autoryzowanego hosta, zrozumieć dane wyjściowe dotyczące przeskoków i czasu RTT oraz rozwiązywać problemy z brakującymi odpowiedziami bez nadmiernego skanowania.