Rocky Linux memcachedをインストールする

Rocky Linux memcachedをインストールする

メモリ上にデータを保存することができある分散型メモリーキャッシュシステムである「memcached」をRocky Linuxにインストールする手順を記述してます。

環境

  • OS  Rocky Linux release 8.4 (Green Obsidian)

事前準備

libmemcachedモジュールのインストールが先に必要なため、インストールしておきます。

sudo dnf install libmemcached

memcachedインストール

「dnf」で、インストールを行います。

sudo dnf install memcached

詳細情報は、以下のコマンドを実行すれば確認できます。

rpm -qi memcached

<出力結果>
Name        : memcached
Epoch       : 0
Version     : 1.5.22
Release     : 2.el8
Architecture: x86_64
Install Date: 2021年06月24日 03時34分48秒
Group       : System Environment/Daemons
Size        : 414743
License     : BSD
Signature   : RSA/SHA256, 2021年04月12日 03時04分12秒, Key ID 15af5dac6d745a60
Source RPM  : memcached-1.5.22-2.el8.src.rpm
Build Date  : 2021年04月12日 00時45分42秒
Build Host  : ord1-prod-x86build003.svc.aws.rockylinux.org
Relocations : (not relocatable)
Packager    : infrastructure@rockylinux.org
Vendor      : Rocky
URL         : https://www.memcached.org/
Summary     : High Performance, Distributed Memory Object Cache
Description :
memcached is a high-performance, distributed memory object caching
system, generic in nature, but intended for use in speeding up dynamic
web applications by alleviating database load.

memcached設定

リモート環境から「memcached」を利用するには「 /etc/sysconfig/memcached 」の設定を変更する必要があります。

sudo nano /etc/sysconfig/memcached

<出力結果>
PORT="11211" ← 待受ポート
USER="memcached" ← プロセス名
MAXCONN="1024" ← 最大接続数
CACHESIZE="64" ← 最大キャッシュ数(MB)
OPTIONS="-l 127.0.0.1,::1" ← 基本はlocalhostからで
                 リモートの場合はリモートIPを指定する

設定ファイルを変更したら、memcached を再起動すると反映します。

sudo systemctl restart memcached

Firewall設定

外部から接続する場合は、firewallが設定されていればポート許可を設定しておきます。

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

memcached起動

memcachedを起動します。

sudo systemctl start memcached

OS再起動時に、自動起動させる場合は、以下も実行しておきます。

sudo systemctl enable memcached

PHPで利用

phpで利用するためには、「php-pecl-memcache」モジュールをインストールします。
リポジトリを追加して、そこからインストールします。
※ここでは「php7.4」を使用してます。

sudo dnf install epel-release -y 
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y

モジュールをリセットして有効にします。

sudo dnf module reset php 
sudo dnf module enable php:remi-7.4 -y 

モジュールは以下のコマンドで確認できます。

sudo dnf module list php

<出力結果>
Rocky Linux 8 - AppStream
Name                               Stream                                 Profiles                                                 Summary                                            
php                                7.2 [d]                                common [d], devel, minimal                               PHP scripting language                             
php                                7.3                                    common [d], devel, minimal                               PHP scripting language                             
php                                7.4                                    common [d], devel, minimal                               PHP scripting language                             

Remi's Modular repository for Enterprise Linux 8 - x86_64
Name                               Stream                                 Profiles                                                 Summary                                            
php                                remi-7.2                               common [d], devel, minimal                               PHP scripting language                             
php                                remi-7.3                               common [d], devel, minimal                               PHP scripting language                             
php                                remi-7.4                               common [d], devel, minimal                               PHP scripting language                             
php                                remi-8.0                               common [d], devel, minimal                               PHP scripting language 

「php-pecl-memcache」モジュールをインストールします。

sudo dnf install php-pecl-memcache

<出力結果>
トランザクションを実行中
  準備             :                                                                                                                                                 1/1 
  インストール     : php-pecl-memcache-8.0-1.el8.remi.8.0.x86_64                                                                                                     1/1 
  scriptletの実行中: php-pecl-memcache-8.0-1.el8.remi.8.0.x86_64                                                                                                     1/1 
  検証             : php-pecl-memcache-8.0-1.el8.remi.8.0.x86_64                                                                                                     1/1 

インストール済み:
  php-pecl-memcache-8.0-1.el8.remi.8.0.x86_64                                                                                                                            

完了しました!

「extension=memcache.so」が追加されたかは、設定ファイルから確認することが可能です。

cat /etc/php.d/40-memcache.ini | grep -v ";" | grep -v ^$

<出力結果>
extension=memcache.so