Jak zainstalować Memcached na Debianie 12, 11 lub 10

Brad Fitzpatrick opracował Memcached w 2003 roku dla witryny LiveJournal jako potężny system buforowania typu open source, pozwalający zwiększyć wydajność dynamicznych aplikacji internetowych poprzez zmniejszenie obciążenia bazy danych. Od tego czasu stało się ono niezbędne w przypadku wielu witryn i aplikacji o dużym natężeniu ruchu. Zanim zainstalujemy Memcached na Debianie 12 Bookworm, Debianie 11 Bullseye lub Debianie 10 Buster, przeanalizujmy poniżej kilka kluczowych punktów na temat Memcached.

Kluczowe cechy i zalety:

  • Skalowalność: Memcached, obsługujący miliony operacji na sekundę, idealnie nadaje się do aplikacji i usług internetowych na dużą skalę.
  • Rozproszone buforowanie: Dzięki architekturze rozproszonego buforowania Memcached umożliwia skalowanie w poziomie na wielu serwerach, zwiększając ogólną pojemność pamięci podręcznej.
  • Przechowywanie w pamięci: Jako magazyn klucz-wartość w pamięci, Memcached zapewnia szybki dostęp do danych w pamięci podręcznej, znacznie zmniejszając opóźnienia w dyskowych systemach pamięci masowej.
  • Proste API: Memcached zapewnia proste API, które obsługuje różne języki programowania, w tym PHP, Python, Ruby i inne.
  • Wygaśnięcie pamięci podręcznej: System umożliwia programistom ustawienie czasów wygaśnięcia danych w pamięci podręcznej, ułatwiając automatyczne usuwanie nieaktualnych lub nieaktualnych danych z pamięci podręcznej.
  • Lekki: Przy minimalnym obciążeniu procesora i pamięci, Memcached skutecznie działa na różnych konfiguracjach serwerów bez znacznego obciążania zasobów systemowych.
  • Elastyczne typy danych: Memcached obsługuje różne typy danych, takie jak ciągi znaków, liczby całkowite i obiekty złożone, dzięki czemu jest wszechstronny w różnorodnych przypadkach użycia.

Poniższy przewodnik przeprowadzi Cię przez proces instalacji Memcached na Debianie przy użyciu dwóch metod: domyślnego repozytorium Debiana dla najbardziej stabilnej wersji lub pobrania i skompilowania najnowszego pliku binarnego dla tych, którzy wolą pracować z najnowszą wersją.

Metoda 1: Zainstaluj Memcached poprzez domyślne repozytorium APT

W tej sekcji zainstalujemy Memcached w systemie Debian Linux przy użyciu menedżera pakietów APT. Wiąże się to z aktualizacją pakietów systemowych i instalacją Memcached za pomocą kilku przydatnych narzędzi.

Zaktualizuj swój system Debian przed instalacją Memcached

Aby mieć pewność, że masz najnowsze wersje pakietów i aktualizacje zabezpieczeń, zacznij od aktualizacji systemu Debian. Uruchom następujące polecenie:

sudo apt update && sudo apt upgrade

To polecenie zaktualizuje listę pakietów i zaktualizuje nieaktualne pakiety do ich najnowszych wersji.

Zainstaluj narzędzia Memcached i Libmemcached-tools

Debian zawiera Memcached w swoich domyślnych repozytoriach, co ułatwia instalację. Aby zainstalować Memcached, uruchom następujące polecenie:

sudo apt install memcached libmemcached-tools

To polecenie instaluje zarówno Memcached, jak i libmemcached-tools pakiet. The libmemcached-tools Pakiet zapewnia dodatkowe narzędzia wiersza poleceń, które umożliwiają większą interakcję i możliwości zarządzania z Memcached.

Metoda 2: Zainstaluj Memcached ze źródła

W tej sekcji opisano instalację Memcached w systemie Debian poprzez kompilację go z kodu źródłowego. Instalacja ze źródła może być korzystna, jeśli chcesz używać najnowszej wersji Memcached lub dostosować kompilację do konkretnych wymagań.

Pobierz źródło Memcached

Najpierw odwiedź Memcached strona z najnowszym wydaniem aby znaleźć aktualną wersję. Skorzystaj z poniższych wget polecenie, aby pobrać go bezpośrednio:

wget https://memcached.org/latest

Wyodrębnij archiwum źródłowe Memcached

Następnie wyodrębnij pobrany kod źródłowy, uruchamiając następującą komendę:

tar -xvf latest

Zanim będziesz kontynuować, przejdź do wyodrębnionego katalogu. Nazwa katalogu zależy od pobranej wersji:

cd memcached-{place version number here}

Zastępować {version_number} z rzeczywistym numerem wersji.

Zainstaluj pakiety początkowe wymagane do kompilacji Memcached

Przed skompilowaniem Memcached musisz zainstalować niezbędne zależności kompilacji. Uruchom następujące polecenie, aby je zainstalować:

sudo apt install build-essential libevent-dev gcc make libc6-dev

Zainstalowane pakiety służą następującym celom:

  • gcc: Dobrze znany kompilator C dla plików źródłowych Memcached.
  • make: Kieruje kompilacją.
  • libc6-dev: Zawiera odniesienie do biblioteki GNU C i plików nagłówkowych.
  • libevent-dev: Zawiera pliki programistyczne do asynchronicznego powiadamiania o zdarzeniach.

Skonfiguruj instalację

Użyj --prefix= parametr ustawiający katalog, w którym zostaną zainstalowane pliki binarne i biblioteki Memcached:

./configure --prefix=/usr/local

Skompiluj kod źródłowy Memcached

Skompiluj kod źródłowy Memcached za pomocą pliku make Komenda:

make

Przetestuj Memcached, potwierdzając aktualną wersję:

./memcached --version

Zainstaluj Memcached za pomocą polecenia „make install”.

Po zakończeniu procesu kompilacji zainstaluj Memcached, uruchamiając następującą komendę:

sudo make install

To polecenie instaluje Memcached w twoim systemie, udostępniając go z wiersza poleceń. Aby upewnić się, że system rozpoznaje nowe biblioteki, uruchom następujące polecenie:

sudo ldconfig

Sprawdź instalację Memcached

Aby sprawdzić, czy Memcached został pomyślnie zainstalowany, uruchom następujące polecenie:

memcached -V

To polecenie wyświetli zainstalowaną wersję Memcached, potwierdzając pomyślną instalację z kodu źródłowego.

Utwórz usługę systemową dla Memcached

Kiedy instalujesz Memcached ze źródła, nie tworzy on automatycznie pliku usługi systemowej. Aby uruchomić Memcached jako usługę i zarządzać nią za pomocą systemctl, musisz utworzyć niestandardowy plik usługi systemowej dla Memcached. Wykonaj poniższe kroki, aby utworzyć i włączyć usługę:

Utwórz nowy plik o nazwie memcached.service w /etc/systemd/system katalogu za pomocą wybranego edytora tekstu. W tym przykładzie użyjemy nano:

sudo nano /etc/systemd/system/memcached.service

Dodaj następującą zawartość do pliku memcached.service plik:

[Unit]
Description=Memcached Service
After=network.target

[Service]
Type=simple
User=memcache
Group=memcache
ExecStart=/usr/local/bin/memcached /etc/memcached.conf
Restart=always

[Install]
WantedBy=multi-user.target

Zapisz plik i wyjdź z edytora tekstu.

Stwórz memcache użytkownika i grupę, aby bezpiecznie uruchomić usługę:

sudo useradd -r -s /sbin/nologin -U -M memcache

Załaduj ponownie konfigurację systemową, aby rozpoznać nowy plik usługi:

sudo systemctl daemon-reload

Na koniec uruchom usługę:

sudo systemctl enable memcached --now

Zarządzanie statusem usługi Memcached

W tej sekcji omówione zostanie zarządzanie usługą Memcached w systemie Debian. Obejmuje to sprawdzanie statusu usługi, uruchamianie i zatrzymywanie usługi oraz konfigurowanie jej do uruchamiania podczas uruchamiania systemu.

Sprawdź status usługi Memcached

Domyślnie Memcached powinien działać po instalacji. Aby sprawdzić jego status, użyj przycisku systemctl polecenie w następujący sposób:

systemctl status memcached

To polecenie wyświetli bieżący stan usługi Memcached.

Uruchom usługę Memcached

Jeśli Memcached nie jest uruchomiony, możesz uruchomić usługę za pomocą następującego polecenia:

sudo systemctl start memcached

Włącz Memcached podczas uruchamiania systemu

Aby mieć pewność, że usługa Memcached uruchomi się automatycznie podczas uruchamiania systemu, użyj następującego polecenia:

sudo systemctl enable memcached

Zatrzymaj usługę Memcached

Jeśli chcesz zatrzymać usługę Memcached, użyj tego polecenia:

sudo systemctl stop memcached

Wyłącz Memcached podczas uruchamiania systemu

Aby zapobiec automatycznemu uruchamianiu usługi Memcached podczas uruchamiania systemu, uruchom następującą komendę:

sudo systemctl disable memcached

Uruchom ponownie usługę Memcached

Jeśli chcesz ponownie uruchomić usługę Memcached, na przykład po dokonaniu zmian w konfiguracji, użyj tego polecenia:

sudo systemctl restart memcached

Sprawdź, czy Memcached nasłuchuje na porcie domyślnym

Na koniec sprawdź, czy Memcached aktywnie nasłuchuje na hoście lokalnym, używając portu domyślnego 11211. Aby to potwierdzić, uruchom następujące polecenie:

ps -ef | grep memcached

W wynikach powinna zostać wyświetlona linia wskazująca, że ​​Memcached działa i nasłuchuje na określonym porcie, podobnie do poniższego:

memcache    5934       1  0 09:36 ?        00:00:00 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid
root        6591    3653  0 09:55 pts/0    00:00:00 grep memcached

Skonfiguruj wskazówki Memcached

W tej sekcji opisano konfigurowanie ustawień Memcached poprzez edycję pliku memcached.conf plik. Omówimy dostosowanie adresu IP nasłuchującego, wyłączenie UDP i zmianę domyślnej alokacji pamięci.

Otwórz plik konfiguracyjny Memcached

Otwórz plik konfiguracyjny Memcached znajdujący się pod adresem /etc/memcached.conf za pomocą edytora tekstu, np nano:

sudo nano /etc/memcached.conf

Użytkownicy, którzy skompilowali Memcached ze źródeł, będą musieli go utworzyć, więc przy pierwszym otwarciu; plik będzie pusty w porównaniu z metodą APT; możesz to skopiować, aby rozpocząć dostosowywanie:

# Example memcached.conf file

# Start with a cap of 64 megs of memory. It's reasonable, and the daemon default
# Note that the daemon will grow to this size, but does not start out holding this much
# memory
-m 64

# Default port is 11211
-p 11211

# Run the daemon as a background process
-d

# Use syslog logging
-s

# Enable verbose logging
-vv

# Set the maximum number of simultaneous connections
-c 1024

Dostosuj adres IP nasłuchiwania

Domyślnie Memcached nasłuchuje adresu IP 127.0.0.1. Sprawdź parametr -l w pliku konfiguracyjnym i upewnij się, że jest ustawiony na prawidłowy adres IP. Jeśli chcesz zmodyfikować adres IP, wymień go 127.0.0.1 z nowym adresem IP:

-l 127.0.0.1

Wyłącz UDP (opcjonalnie)

Jeśli nie potrzebujesz obsługi UDP, zaleca się jej wyłączenie. Aby wyłączyć UDP, dodaj następujący wiersz do pliku konfiguracyjnego:

-U 0

Skonfiguruj alokację pamięci

Domyślna alokacja pamięci dla Memcached to 64 MB, co może nie być wystarczające w przypadku większych witryn. Rozważ zmianę alokacji pamięci na wyższą wartość, aby zmaksymalizować Memcached.

Aby ustawić alokację pamięci, znajdź -m parametr w pliku konfiguracyjnym i zastąp wartość domyślną żądaną ilością (w MB). Na przykład, aby przydzielić 2 GB pamięci, ustaw wartość na 2000:

-m 2000

Dostosuj to ustawienie w oparciu o dostępną pamięć i wymagania serwera.

Zapisz i uruchom ponownie Memcached

Po dokonaniu niezbędnych zmian zapisz plik konfiguracyjny naciskając CTRL+O, śledzony przez Y, i wtedy CTRL+X aby wyjść z edytora tekstu. Na koniec uruchom ponownie usługę Memcached, aby zmiany zaczęły obowiązywać:

sudo systemctl restart memcached

Dodatkowe przykłady konfiguracji Memcached

Oprócz opcji konfiguracji omówionych wcześniej, istnieje kilka innych ustawień, które możesz dostosować, aby dostosować Memcached do swoich wymagań. Oto kilka przykładów wraz z krótkimi demonstracjami:

Określ użytkownika i grupę

Memcached działa pod określonym użytkownikiem i grupą określoną za pomocą -u parametr. Na przykład, aby uruchomić Memcached jako plik memcache użytkownik, dodaj następujący wiersz do pliku konfiguracyjnego:

-u memcache

Włącz strony o dużej pamięci

Włączenie tej funkcji może poprawić wydajność, jeśli system obsługuje strony o dużej pamięci. Aby włączyć strony o dużej pamięci, znajdź plik -L parametr i odkomentuj go (usuń plik # na początku linii):

-L

Skonfiguruj maksymalny rozmiar elementu

Memcached ma domyślny maksymalny rozmiar elementu wynoszący 1 MB. Aby zwiększyć maksymalny rozmiar elementu, użyj opcji -I parametr, po którym następuje żądany rozmiar. Na przykład, aby ustawić maksymalny rozmiar elementu na 5 MB, dodaj następujący wiersz do pliku konfiguracyjnego:

-I 5m

Ustaw maksymalną liczbę wątków

Memcached domyślnie używa czterech wątków. Możesz użyć tego parametru, aby zwiększyć lub zmniejszyć liczbę wątków w zależności od możliwości i obciążenia serwera. Na przykład, aby ustawić liczbę wątków na 8, dodaj następujący wiersz:

-t 8

Skonfiguruj limit czasu bezczynności

Memcached automatycznie zamyka bezczynne połączenia po pewnym okresie bezczynności. Aby zmodyfikować limit czasu bezczynności, użyj opcji -o parametr, po którym następuje idle_timeout i żądaną liczbę sekund. Na przykład, aby ustawić limit czasu bezczynności na 600 sekund (10 minut), dodaj następujący wiersz:

-o idle_timeout=600

Włącz uwierzytelnianie SASL

Możesz włączyć obsługę SASL (proste uwierzytelnianie i warstwa zabezpieczeń), jeśli potrzebujesz uwierzytelnienia, aby uzyskać dostęp do serwera Memcached. Aby włączyć SASL, znajdź plik -S parametr i odkomentuj go (usuń plik # na początku linii):

-S

Pamiętaj, aby zawsze po dokonaniu zmian w pliku konfiguracyjnym uruchomić ponownie usługę Memcached:

sudo systemctl restart memcached

Zainstaluj zaporę UFW dla Memcached

Aby zapewnić bezpieczeństwo instancji Memcached, istotne jest prawidłowe skonfigurowanie reguł zapory sieciowej. W tej sekcji opisano, jak zainstalować i skonfigurować nieskomplikowaną zaporę sieciową (UFW), aby zabezpieczyć serwer Memcached.

Sprawdź, czy jest zainstalowany UFW

Najpierw sprawdźmy, czy UFW jest już zainstalowany w twoim systemie Debian:

sudo ufw --version

Jeśli zainstalowano UFW, na wyjściu zobaczysz numer jego wersji. Jeśli nie, musisz go zainstalować.

Zainstaluj UFW na Debianie dla Memcached

Aby zainstalować UFW w systemie Debian, uruchom następującą komendę:

sudo apt install ufw

Po zakończeniu instalacji włącz UFW za pomocą następującego polecenia:

sudo ufw enable

Skonfiguruj reguły UFW dla Memcached

Teraz, gdy UFW jest zainstalowany i włączony, musisz utworzyć reguły zezwalające na porcie TCP 11211. Utworzone reguły będą zależeć od instalacji i wymagań, niezależnie od tego, czy używasz pojedynczego połączenia sieciowego IP, czy pracujesz z wieloma instancjami w sieci klastrowej.

Przykład połączenia sieciowego z pojedynczym IP

Zezwól na dostęp do Memcached z określonego adresu IP:

sudo ufw allow proto tcp from <ip_address> to any port 11211

Przykładowe połączenie sieciowe klastra IP z wieloma instancjami

Zezwól na dostęp do Memcached z podsieci adresów IP:

sudo ufw allow proto tcp from <ip_address>/24 to any port 11211

Należy pamiętać, że druga reguła UFW jest regułą podsieci. Przed zezwoleniem na dostęp upewnij się, że sieć wewnętrzna jest bezpieczna i godna zaufania.

Krok 4: Sprawdź zasady UFW

Po skonfigurowaniu odpowiednich reguł sprawdź, czy są one poprawnie skonfigurowane, wypisując aktualne reguły UFW:

sudo ufw status

Dane wyjściowe powinny wyświetlić skonfigurowane reguły, zapewniając, że instancja Memcached jest zabezpieczona za pomocą UFW.

Zainstaluj biblioteki Memcached

Memcached oferuje rozszerzenia dla różnych języków programowania, ale najczęściej jest używany w PHP. Ta sekcja poprowadzi Cię przez instalację bibliotek Memcached dla PHP, Python i Perl oraz konfigurację Memcached dla serwerów WWW Apache i Nginx.

Zainstaluj biblioteki PHP dla Memcached

Aby zainstalować bibliotekę PHP dla Memcached, uruchom następującą komendę:

sudo apt install php-memcached libapache2-mod-php php php-cli

Skonfiguruj Memcached dla serwera Apache HTTP

Jeśli używasz serwera Apache HTTP, włącz moduł Memcached, wykonując następujące polecenie:

sudo phpenmod memcached && sudo systemctl restart apache2

Skonfiguruj Memcached dla serwera HTTP Nginx

Obsługa Memcached zostanie domyślnie włączona w bloku konfiguracyjnym PHP po zainstalowaniu biblioteki PHP dla użytkowników Nginx.

Poniżej znajduje się prosty przykład bloku serwera nginx:

server {
    listen 80;
    server_name example.com;

    root /var/www/example.com;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

Zainstaluj bibliotekę Pythona dla Memcached

Aby zainstalować obsługę Pythona dla Memcached, uruchom następującą komendę:

sudo apt install python3-pymemcache

Zainstaluj bibliotekę Perla dla Memcached

Aby zainstalować obsługę Perla dla Memcached, wykonaj następujące polecenie:

sudo apt install libcache-memcached-libmemcached-perl

Uzyskaj dostęp do Memcached z wiersza poleceń

Memcached można monitorować i zarządzać nim za pomocą różnych programów i internetowych interfejsów użytkownika. Jednak bezpośrednia interakcja z Memcachedem za pomocą wiersza poleceń jest często najprostszą metodą sprawdzania jego wydajności i zarządzania jego zawartością.

Najpierw połącz się z usługą Memcached za pomocą telnetu:

telnet localhost 11211

Przykładowe wyjście:

Próbuję 127.0.0.1... Połączono z localhost. Znak ucieczki to „^]”.

Następnie możesz uzyskać przegląd swojej usługi Memcached za pomocą następującego polecenia:

stats

To polecenie zwróci różne statystyki dotyczące Twojej instancji Memcached, takie jak czas pracy, liczba elementów w pamięci podręcznej i liczba połączeń klientów.

Możesz udoskonalić swoją analizę, sprawdzając płyty Memcached (partycje pamięci). Na przykład, możesz wyświetlić listę płyt w połączonym wystąpieniu za pomocą:

stats slabs

Uzyskaj listę płyt, w tym liczbę elementów przechowywanych w każdej płycie, używając:

stats items

Aby uzyskać dostęp do danych przechowywanych w Memcached i manipulować nimi, możesz użyć cachedump polecenie, aby wyświetlić listę kluczy. Aby wyświetlić listę wszystkich pozycji w określonej płycie, wykonaj następujące polecenie:

stats cachedump [slab ID] [number of items, 0 for all items]

Na przykład:

stats cachedump 1 0

Przykładowe wyjście:

Klucz testowy ELEMENTU [9 b; 1296857316 s] KONIEC

W tym przykładzie płyta 1 zawiera jeden element z kluczem „testkey”. Aby pobrać wartość tego elementu, użyj metody get Komenda:

get testkey

Przykładowe wyjście:

WARTOŚĆ klucz testowy 0 9 dane testowe KONIEC

Na koniec, aby usunąć element z pamięci podręcznej, taki jak „klucz testowy”, użyj następującego polecenia:

delete testkey

Przykładowe wyjście:

USUNIĘTE

Wniosek

Podsumowując, instalacja i konfiguracja Memcached w systemie Debian Linux może znacznie poprawić wydajność aplikacji internetowych, zapewniając szybki, wydajny i łatwy w użyciu system buforowania. Postępując zgodnie z instrukcjami opisanymi w tym przewodniku, możesz pomyślnie skonfigurować Memcached, skonfigurować go z preferowanym serwerem internetowym i zabezpieczyć za pomocą UFW. Przy odpowiedniej konfiguracji i zarządzaniu Memcached może stać się niezbędny w optymalizacji aplikacji i zapewnianiu lepszego doświadczenia użytkownika.

Joshua James
Chodź za mną
Najnowsze posty autorstwa Joshua James (widzieć wszystko)

Dodaj komentarz