CentOS8にMemcachedをインストールして構成する方法


Memcachedは、Webアプリケーションを高速化するために設計された、オープンソースで高性能な超高速のインメモリKey-Valueストアです。 Memcachedに依存する人気のあるWebアプリケーションには、FaceBook、Reddit、Twitterなどがあります。

この記事では、CentOS 8 LinuxにMemcachedキャッシングシステムをインストールして構成する方法を学習します(同じ手順はRHEL 8 Linuxでも機能します)。

CentOS8へのMemcachedのインストール

デフォルトでは、MemcachedパッケージはCentOS8リポジトリに含まれています。これを念頭に置いて、デフォルトのdnfパッケージマネージャーを使用して、他のパッケージと一緒にMemcachedをインストールします。

$ sudo dnf install memcached libmemcached

Memcachedパッケージの詳細情報を表示するには、次のrpmコマンドを実行します。

$ rpm -qi

このコマンドは、以下に示すように、パッケージのバージョン、リリース、アーキテクチャタイプ、ライセンス、リリース日などの詳細を表示します。

CentOS8でのMemcachedの構成

Memcachedのインストールが完了したので、他のアプリケーションがMemcachedと対話できるようにMemcachedを構成する必要があります。 Memcachedの構成は、/ etc/sysconfig/memcachedファイルにあります。

デフォルトでは、Memcachedはポート11211をリッスンし、行番号5に示すようにローカルホストシステムのみをリッスンするように構成されています。

リモートシステムからのアプリケーションがサーバーに接続できるようにMemcachedを構成するには、ローカルホストアドレス127.0.0.1をリモートホストのアドレスに変更する必要があります。

私たちがプライベートローカルネットワークにいると仮定しましょう。 MemcachedサーバーのIPは192.168.2.101ですが、Memcachedに接続するアプリケーションが存在するリモートクライアントのIPは192.168.2.105です。

図のように、ローカルホストアドレスをリモートクライアントのIP192.168.2.105に置き換えます。

次に、ファイアウォールのポート11211を開いて、クライアントホストからのトラフィックを許可する必要があります。

$ sudo firewall-cmd --add-port=11211/tcp --zone=public --permanent
$ sudo firewall-cmd --reload

ポート11211がファイアウォールで開かれていることを確認するには、コマンドを実行します。

$ sudo firewall-cmd --list-ports | grep 11211

Perfect!、出力はポートが開いていることを確認します。リモートクライアントからのトラフィックがMemcachedサーバーにアクセスできるようになりました。

設定と構成が完了したら、図のようにMemcachedを起動して有効にします。

$ sudo systemctl start memcached
$ sudo systemctl enable memcached

Memcachedのステータスを確認するには、コマンドを実行します。

$ sudo systemctl status memcached

出力は、Memcachedが稼働中であることの確認です。

アプリケーションのMemcachedを有効にする

Drupal、Magento、WordPressなどのPHPを利用したアプリケーションを実行している場合は、アプリケーションのphp-pecl-memcache拡張機能をインストールして、Memcachedサーバーとシームレスに通信します。

$ sudo dnf install php-pecl-memcache

Pythonアプリケーションを実行している場合は、pipパッケージインストーラーを使用して、次のPythonライブラリをインストールします。

$ pip3 install pymemcache --user
$ pip3 install python-memcached --user

以上です。このガイドでは、CentOS8サーバーにMemcachedキャッシングシステムをインストールする方法を学習しました。 Memcachedの詳細については、MemcachedWikiを確認してください。