
Memcachedは、無料のオープンソースの高性能インメモリキーバリューデータストアです。これは主に、データベース呼び出しの結果からさまざまなオブジェクトをキャッシュすることによってアプリケーションを高速化するためのキャッシュシステムとして使用されます。
このチュートリアルでは、CentOS7にMemcachedをインストールして構成する方法を説明します。
前提条件#
このチュートリアルを続行する前に、sudo権限を持つユーザーとしてログインしていることを確認してください。
Memcachedのインストール#
Memcachedパッケージは、デフォルトのCentOS7リポジトリに含まれています。インストールは非常に簡単です。次のコマンドを入力するだけです。
sudo yum install memcached libmemcached
libmemcached
パッケージは、Memcachedサーバーを管理するためのいくつかのコマンドラインツールを提供します。
インストールが完了したら、Memcachedサービスを開始して有効にします。
sudo systemctl start memcached
sudo systemctl enable memcached
これで、CentOS7サーバーにMemcachedがインストールされて実行されました。
Memcachedの構成#
Memcachedは、/etc/sysconfig/memcached
を編集して構成できます。 ファイル。デフォルトでは、Memcachedはすべてのインターフェースでリッスンするように設定されています。次のセクションでは、ローカルアクセスとリモートアクセス用にサービスを構成する方法を示します。
不適切に構成された場合、Memcachedを使用して分散型サービス拒否(DDoS)攻撃を実行できます。
ローカルアクセスのみ#
サーバーに接続しているクライアントも同じホストで実行されている場合は、ローカルホストのみをリッスンするようにMemcachedサービスを設定することをお勧めします。
これを行うには、memcached
を開きます テキストエディタを使用した構成ファイル:
sudo nano /etc/sysconfig/memcached
OPTIONS
で パラメータ追加-l 127.0.0.1
。これにより、Memcachedは指定されたインターフェースにのみバインドするように指示されます。
OPTIONS="-l 127.0.0.1"
変更を有効にするには、Memcachedサービスを再起動します。
sudo systemctl restart memcached
Memcachedに接続するアプリケーションがリモートサーバーでホストされている場合は、ファイアウォールを構成し、クライアントIPアドレスからのみMemcachedポート11211へのアクセスを許可する必要があります。
次の例では、プライベートネットワークを介してMemcachedサーバーに接続することを想定しています。 MemcachedサーバーのIPは192.168.100.20
です クライアントのIPアドレスは192.168.100.30
です。 。
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
を開きます 構成ファイル:
sudo nano /etc/sysconfig/memcached
OPTIONS
で パラメータはサーバーのIPアドレスを追加します-l 192.168.100.20
:
OPTIONS="-l 192.168.100.20"
ファイルを保存して、Memcachedサービスを再起動します:
sudo systemctl restart memcached
Memcachedへの接続#
Memcachedサーバーに接続するには、言語固有のクライアントを使用する必要があります。
PHP#
MemcachedをWordPress、Drupalor MagentoなどのPHPアプリケーションのキャッシュデータベースとして使用するには、php-pecl-memcached
をインストールする必要があります。 拡張子:
sudo yum install php-pecl-memcache
Python#
memcacheと対話するためのPythonライブラリがいくつかあります。 pipを使用して好みのライブラリをインストールできます:
pip install pymemcache
pip install python-memcached