如何在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
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應用程式(例如WordPress,Drupal,Joomla或Magento)的快取資料庫,您需要安裝php-memcached
副檔名:
sudo apt install php-memcached
Copy
Python
有幾個Python庫用於與記憶體快取進行互動。您可以使用pip:
安裝首選庫
pip install pymemcache
Copy
pip install python-memcached
Copy