Memcached は、さまざまな方法で役立つ高性能のオープンソースのメモリ内Key-Valueキャッシングサービスです。まず、セッションデータ、ユーザー認証トークン、API呼び出しをキャッシュすることで、アプリケーションの速度を上げるのに役立ちます。さらに、複数のアプリケーションインスタンス間でデータを共有するのに役立つメカニズムを提供します。
では、Memcachedを使用する利点は何ですか?利点を2つにまとめることができます。それは、アプリケーションのパフォーマンスを向上させることと、無料であるためアプリケーションの実行コストを削減することです。
次に、CentOS8にMemcachedをインストールして構成する方法を見てみましょう。
必要なもの
開始するときは、次の要件が満たされていることを確認してください。
- CentOS8サーバーへのアクセス
- sudoまたは昇格された特権を持つ標準ユーザー
余計な手間をかけずに、袖をまくり上げて忙しくしましょう。
ステップ1)Memcachedキャッシングサーバーをインストールします
Memcachedキャッシングサーバーをインストールするには、最初に次のコマンドを使用してシステムパッケージリストを更新します。
$ sudo dnf update -y
Memcachedパッケージとその依存関係がAppStreamリポジトリに存在するため、次のようにデフォルトのパッケージマネージャーを使用してMemcachedをインストールします。
$ sudo dnf install -y memcached libmemcached
最後に、インストールが成功したことを示す以下の出力が表示されます。
MemcachedがCentOS8にインストールされていることを確認するには、次のコマンドを実行します。
$ rpm -q memcached memcached-1.5.9-2.el8.x86_64 $
Memcachedの詳細については、図のように-qi引数を使用してください。これにより、Memcachedのバージョン、アーキテクチャ、インストール日、ビルド日など、より詳細な情報が表示されます。
$ rpm -qi memcached
ステップ2)Memcachedを構成する
Memcachedのデフォルト設定ファイルは/etc/ sysconfig/memcachedです。デフォルトでは、ポート11211とローカルホストでリッスンします。システムは5行目で127.0.0.1で示されています。
[[email protected] ~]$ cat -n /etc/sysconfig/memcached 1 PORT="11211" 2 USER="memcached" 3 MAXCONN="1024" 4 CACHESIZE="64" 5 OPTIONS="-l 127.0.0.1,::1" [[email protected] ~]$
Memcachedに接続する予定のアプリケーションが、Memcachedと同じサーバー上にある場合は、デフォルトの構成のままにしてください。
同じLAN上のリモートシステムでアプリケーションを実行していて、それをMemcachedサーバーに接続する場合は、ローカルホストアドレス127.0.0.1をリモートシステムのIPアドレスに置き換えて5行目を調整します。
たとえば、アプリケーションがホストされているリモートシステムのIPは192.168.2.100です。したがって、図のように構成ファイルを調整します。
[[email protected] ~]$ sudo vi /etc/sysconfig/memcached 1 PORT="11211" 2 USER="memcached" 3 MAXCONN="1024" 4 CACHESIZE="64" 5 OPTIONS="-l 192.168.2.100,::1"
構成ファイルを保存して終了します。
ステップ3:Memcachedサーバーへのトラフィックを許可するようにファイアウォールを構成します
さらに、ファイアウォールのデフォルトポート(ポート11211)を開いて、Memcachedサーバーへのトラフィックを許可する必要があります。
したがって、以下のコマンドを実行します。
$ sudo firewall-cmd --add-port=11211/tcp --zone=public --permanent $ sudo firewall-cmd --reload
ステップ3)memcachedサービスを開始して有効にする
次のように、すべての構成が完了したら、Memcachedを起動して有効にします。
$ sudo systemctl start memcached $ sudo systemctl enable memcached
Memcachedが稼働中であることを確認するには、次のコマンドを実行します。
$ sudo systemctl status memcached
MemcachedとPHPの統合
前に述べたように、Memcachedはアプリケーションの高速化に使用できます。そのためには、サーバーに言語固有のクライアントをインストールする必要があります。たとえば、WordPress、OwnCloud、MagentoなどのPHPアプリケーションを実行している場合は、図のようにphp-pecl-memcache拡張機能をインストールします。
上記の拡張機能またはパッケージは、デフォルトのCentOS 8リポジトリでは使用できないため、最初にepelおよびremiリポジトリを有効にして、次のコマンドを次々に実行する必要があります。
$ sudo dnf install epel-release -y $ sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y $ sudo dnf module enable php:remi-7.4 -y $ sudo dnf install -y php-pecl-memcache php-pecl-memcached
また読む : CentOS 8 /RHEL8にPHP7.4をインストールする方法
それをテストするために、Webサーバーとその他のPHP依存関係をインストールしましょう
$ sudo dnf install -y nginx php php-cli
次に、ウェブサーバーのサービス(nginx)を開始し、テストPHPページを作成して、MemcachedがPHPに対して有効になっているかどうかを確認します
$ sudo systemctl enable nginx.service –now $ sudo systemctl restart memcached.service $ sudo vi /usr/share/nginx/html/info.php
次に、次のコンテンツをファイルに貼り付けて、変更を保存します。
<?php phpinfo(); ?>
その後、ブラウザにアクセスして、以下のアドレスを参照してください
http://server-ip/info.php
下にスクロールして、Memcachedに関するすべての情報を表示するMemcachedセクションを探します。
これは、Memcachedがインストールされ、PHPおよびNginxWebサーバーで正常に機能していることの確認です。
Pythonベースのアプリケーション用にMemcachedを統合する
Pythonアプリケーションの場合は、pipを使用して示されているようにpymemcacheおよびpython-memcachedライブラリをインストールしてください。
$ pip3 install pymemcache --user $ pip3 install python-memcached --user
まとめると、Memcachedは、頻繁に使用されるコンテンツをキャッシュすることで、アプリケーションを高速化するためのシンプルで費用効果の高い方法です。無料でオープンソースであり、好みに合わせて調整できます。 MemcachedWikiにアクセスできます。 Memcachedの詳細については、