Memcachedは、無料のオープンソースの高性能インメモリキーバリューデータストアです。通常、データベース呼び出しの結果からさまざまなオブジェクトをキャッシュすることにより、アプリケーションを高速化するためのキャッシュシステムとして使用されます。
この記事では、CentOS8にMemcachedをインストールして構成する方法を示します。
CentOSへのMemcachedのインストール#
Memcachedパッケージは、デフォルトのCentOS8リポジトリに含まれています。インストールは非常に簡単です。rootまたはsudo権限を持つユーザーとして次のコマンドを入力してください。
sudo dnf install memcached libmemcached
libmemcached
パッケージは、Memcachedサーバーを管理するためのいくつかのコマンドラインツールを提供します。
インストールが完了したら、次のように入力してMemcachedサービスを有効にして開始します。
sudo systemctl enable memcached --now
memcachedが実行されていることを確認するには、次のように入力します。
sudo systemctl status memcached
出力は次のようになります。
● memcached.service - memcached daemon
Loaded: loaded (/usr/lib/systemd/system/memcached.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2020-04-13 20:12:52 UTC; 2s ago
...
これで、CentOS 8サーバーにMemcachedがインストールされ、使用を開始できます。
Memcachedの構成#
Memcachedオプションは、/etc/sysconfig/memcached
で構成できます ファイル。デフォルトでは、Memcachedはローカルホストでのみリッスンするように設定されています。
サーバーに接続しているクライアントも同じホストで実行されている場合は、変更を加えないでください。
Memcachedに接続するアプリケーションがリモートサーバーでホストされている場合は、ファイアウォールを構成し、Memcachedポート11211
へのアクセスを許可する必要があります。 クライアントのIPアドレスからのみ。
不適切に構成された場合、Memcachedを使用して分散型サービス拒否(DDoS)攻撃を実行できます。
次の例では、プライベートネットワークを介してMemcachedサーバーに接続することを想定しています。 MemcachedサーバーのIPは192.168.100.20
です 、およびクライアントのIPアドレスは192.168.100.30
。
最初のステップは、Memcached構成を編集し、サーバーのプライベートネットワークインターフェースでリッスンするようにサービスを設定することです。
memcached
を開きます 構成ファイル:
sudo nano /etc/sysconfig/memcached
OPTIONS
で パラメータ、サーバーのIPアドレスを追加します-l 192.168.100.20
。これにより、Memcachedは指定されたインターフェースにのみバインドするように指示されます。
OPTIONS="-l 192.168.100.20"
ファイルを保存し、Memcachedサービスを再起動して、変更を有効にします。
sudo systemctl restart memcached
サービスを構成したら、次のステップはファイアウォールでmemcachedポートを開くことです。
CentOSには、ファイアウォール構成ツールFirewallD
が付属しています。 。以下のコマンドは、memcached
という名前の新しいゾーンを作成します 、ポート11211
を開きます クライアントのIPアドレスからのアクセスのみを許可します。
sudo firewall-cmd --new-zone=memcached --permanent
sudo firewall-cmd --zone=memcached --add-port=11211/udp --permanent
sudo firewall-cmd --zone=memcached --add-port=11211/tcp --permanent
sudo firewall-cmd --zone=memcached --add-source=192.168.100.30/32 --permanent
sudo firewall-cmd --reload
Memcachedへの接続#
Memcachedサーバーに接続するには、言語固有のクライアントを使用する必要があります。
PHP#
MemcachedをWordPress、Drupal、MagentoなどのPHPアプリケーションのキャッシングデータベースとして使用するには、php-pecl-memcached
をインストールする必要があります。 拡張子:
sudo dnf install php-pecl-memcache
Python#
memcachedとやり取りするためのPythonライブラリがいくつかあります。 pipを使用して好みのライブラリをインストールできます:
pip install pymemcache
pip install python-memcached