1. 程式人生 > 實用技巧 >如何在Ubuntu 18.04上安裝Memcached

如何在Ubuntu 18.04上安裝Memcached

Memcached是一個免費的開源高效能記憶體中鍵值資料儲存。它最常用於通過從資料庫呼叫結果中快取各種物件來加速應用程式。

在本教程中,我們將介紹在Ubuntu 18.04上安裝和配置最新版本的Memcached的過程。相同的說明適用於Ubuntu 16.04和任何基於Ubuntu的發行版。

先決條件

在繼續學習本教程之前,請確保您以具有sudo許可權的使用者身份登入

安裝Memcached

Memcached軟體包包含在預設的Ubuntu 18.04儲存庫中。安裝非常簡單,只需執行以下步驟:

首先更新apt軟體包列表:

sudo apt update
Copy

通過鍵入以下內容安裝Memcached:

sudo apt install memcached libmemcached-tools
Copy

libmemcached-tools軟體包包含幾個用於管理Memcached伺服器的命令列工具。

安裝完成後,Memcached服務將自動啟動。要檢查服務的狀態,請輸入以下命令:

sudo systemctl status memcached
Copy

輸出將如下所示:

● memcached.service - memcached daemon
  Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled)
  Active: active (running) since Tue 2019-04-30 15:13:41 PDT; 37s ago
    Docs: man:memcached(1)
Main PID: 10753 (memcached)
   Tasks: 10 (limit: 2319)
  CGroup: /system.slice/memcached.service
          `-10753 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid
Copy

目前您已在Ubuntu 18.04伺服器上安裝並執行Memcached。

配置Memcached

Memcached可以通過編輯/etc/memcached.conf檔案進行配置。預設配置設定足以滿足大多數使用者的需求。

預設情況下,Memcached配置為僅在本地主機上偵聽。如果連線到伺服器的客戶端也在同一主機上執行,​​則無需更改預設配置檔案。

遠端訪問

如果配置不正確,則Memcached可用於執行分散式拒絕服務(DDoS)攻擊。如果要允許對Memcached伺服器的遠端訪問,則需要配置防火牆,並僅允許受信任的客戶端訪問Memcached UDP埠11211。

以下示例假定您要通過專用網路連線到Memcached伺服器。伺服器IP為192.168.100.20

,客戶端IP地址為192.168.100.30

Ubuntu帶有一個稱為UFW的防火牆配置工具。預設情況下,已安裝UFW,但未啟用。在啟用UFW防火牆之前,首先新增一條規則,該規則將允許傳入的SSH連線:

sudo ufw allow 22
Copy

允許從遠端客戶端IP地址進行評估:

sudo ufw allow from 192.168.100.30 to any port 11211
Copy

通過鍵入以下內容來啟用UFW:

sudo ufw status
Copy

配置好防火牆後,下一步就是編輯Memcached配置並設定Memcached服務以監聽伺服器的專用網路介面:

為此,請開啟memcached.conf配置檔案:

sudo nano /etc/memcached.conf
Copy

找到以-l 127.0.0.1開頭的行,並將127.0.0.1替換為伺服器IP地址192.168.100.20

/etc/memcached.conf

# Specify which IP address to listen on. The default is to listen on all IP addresses
# This parameter is one of the only security measures that memcached has, so make sure
# it's listening on a firewalled interface.
-l 192.168.100.20
Copy

重新啟動Memcached服務,以使更改生效:

sudo systemctl restart memcached
Copy

您現在可以從遠端位置連線到Memcached伺服器。

正在連線到Memcached

要連線到Memcached伺服器,您需要使用特定語言的客戶端。

PHP

要將Memcached用作PHP應用程式(例如WordPressDrupalJoomlaMagento)的快取資料庫,您需要安裝php-memcached副檔名:

sudo apt install php-memcached
Copy

Python

有幾個Python庫用於與記憶體快取進行互動。您可以使用pip

安裝首選庫

pip install pymemcache
Copy
pip install python-memcached
Copy