Memcachedは、無料のオープンソースの高性能インメモリキーバリューデータストアです。これは主に、データベース呼び出しの結果からさまざまなオブジェクトをキャッシュすることにより、アプリケーションを高速化するために使用されます。
このチュートリアルでは、Debian9にMemcachedをインストールして構成する手順を説明します。
前提条件#
Debianシステムにパッケージをインストールするには、sudoアクセス権を持つユーザーとしてログインする必要があります。
Memcachedのインストール#
Memcachedパッケージは、デフォルトのDebian9リポジトリに含まれています。インストールは非常に簡単です。以下の手順に従ってください。
-
パッケージリストを更新します:
sudo apt update
-
次のように入力してMemcachedをインストールします:
sudo apt install memcached libmemcached-tools
libmemcached-tools
パッケージは、Memcachedサーバーを管理するためのいくつかのコマンドラインツールを提供します。 -
インストールが完了すると、Memcachedサービスが自動的に開始されます。サービスのステータスを確認するには、次のコマンドを入力します。
sudo systemctl status memcached
出力は次のようになります:
● memcached.service - memcached daemon Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-06-05 21:00:57 GMT; 52s ago Docs: man:memcached(1) Main PID: 1371 (memcached) CGroup: /system.slice/memcached.service └─1371 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1
これで、Debian9サーバーにMemcachedが正常にインストールされました。
Memcachedの構成#
Memcachedは、/etc/memcached.conf
を編集して構成できます。 ファイル。ほとんどのユーザーにとって、デフォルトの構成設定で十分です。
デフォルトでは、Memcachedサービスはローカルホストでのみリッスンします。サーバーに接続しているクライアントも同じホストで実行されている場合は、デフォルトの構成ファイルを変更する必要はありません。
不適切に構成されている場合、Memcachedを使用して分散型サービス拒否(DDoS)攻撃を実行できます。 Memcachedサーバーへのリモート接続を許可するには、ファイアウォールを構成し、信頼できるクライアントからのみMemcachedUDPポート11211へのアクセスを許可する必要があります。
次の例では、プライベートネットワークを介してMemcachedサーバーに接続することを想定しています。サーバーIPは192.168.100.20
です クライアントのIPアドレスは192.168.100.30
です。
UFWを使用している場合は、次のコマンドを実行して、リモートクライアントのIPアドレスからの評価を許可します。
sudo ufw allow from 192.168.100.30 to any port 11211
プレーンな古いiptablesを実行している場合は、次を実行します:
iptables -I INPUT -s 192.168.100.30 --dport 2112112 -j ACCEPT
ファイアウォールが構成されたら、次のステップはMemcached設定を編集し、サーバーのプライベートネットワークインターフェースでリッスンするようにMemcachedサービスを設定することです。
これを行うには、memcached.conf
を開きます 構成ファイル:
sudo nano /etc/memcached.conf
-l 127.0.0.1
で始まる行を見つけます 127.0.0.1
を置き換えます サーバーのIPアドレス192.168.100.20
。
# 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
変更をアクティブにするためにMemcachedサービスを再起動します:
sudo systemctl restart memcached
これで、リモートの場所からMemcachedサーバーに接続できます。
Memcachedへの接続#
Memcachedサーバーに接続するには、言語固有のクライアントを使用する必要があります。
PHP#
MemcachedをWordPress、Drupal、MagentoなどのPHPアプリケーションのキャッシュデータベースとして使用するには、php-memcached
をインストールする必要があります。 拡張子:
sudo apt install php-memcached
Python#
memcacheと対話するためのPythonライブラリがいくつかあります。 pipを使用して好みのライブラリをインストールできます:
pip install pymemcache
pip install python-memcached