Memcached · 2 min read · Nov 07, 2025

Ubuntu 22.04にMemcachedをインストールする方法

Memcachedは、データベースデータをキャッシュするために使用される無料のオープンソースの汎用分散メモリキャッシングシステムです。これは、データベースの負荷を軽減することによって動的Webアプリケーションの速度を向上させるために使用される高性能のメモリキャッシングシステムです。Memcachedは、クライアントとサーバーが協力してキャッシュデータをできるだけ効率的に提供できるようにする4つのコンポーネントで構成されています。PHP、Java、C/C++、Python、Ruby、Perlなどの主要な言語のすべてにAPI統合を提供します。

このチュートリアルでは、Ubuntu 22.04サーバーにMemcachedサーバーをインストールし、PHPで使用する方法を示します。

要件

  • Ubuntu 22.04を実行しているサーバー。
  • サーバーに設定されたrootパスワード。

Ubuntu 22.04にMemcachedをインストールする

デフォルトでは、MemcachedパッケージはUbuntuのデフォルトリポジトリに含まれています。次のコマンドを使用して簡単にインストールできます:

apt install memcached libmemcached-tools -y

Memcachedがインストールされたら、次のコマンドを使用してMemcachedサービスを開始します:

systemctl start memcached

次のコマンドを使用してMemcachedのステータスを確認できます:

systemctl status memcached

次の出力が得られるはずです:

? memcached.service - memcached daemon
     Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2022-10-18 13:09:47 UTC; 29s ago
       Docs: man:memcached(1)
   Main PID: 5525 (memcached)
      Tasks: 10 (limit: 2242)
     Memory: 1.7M
        CPU: 71ms
     CGroup: /system.slice/memcached.service
             ??5525 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid

Oct 18 13:09:47 ubuntu2204 systemd[1]: Started memcached daemon.

Memcachedのバージョンを確認するには、次のコマンドを実行します:

memcached -V

次の出力が得られます:

memcached 1.6.14

デフォルトでは、Memcachedはポート11211でリッスンします。次のコマンドを使用して確認できます:

ss -plunt | grep memcache

次の出力が表示されるはずです:

tcp   LISTEN 0      1024                        127.0.0.1:11211      0.0.0.0:*    users:(("memcached",pid=5525,fd=22)) 

PHP Memcached拡張をインストールする

MemcachedをPHPベースのアプリケーションで使用するには、サーバーにPHP Memcached拡張をインストールする必要があります。次のコマンドを使用してApacheと共にインストールできます:

apt install apache2 php libapache2-mod-php php-memcached php-cli -y

次に、Memcachedを確認するためのサンプルPHPテストページを作成します:

nano /var/www/html/info.php

次のコードを追加します:

ファイルを保存して閉じたら、変更を適用するためにApacheサービスを再起動します:

systemctl restart apache2

次に、Webブラウザを開き、URL http://your-server-ip/info.phpを使用してPHPページにアクセスします。次の画面にMemcachedが表示されるはずです:

PHP Memcached

次に、Memcachedが機能するかどうかを確認するために別のPHPテストページを作成します。

nano /var/www/html/test.php

次のコードを追加します:

addServer("127.0.0.1", 11211); 
$response = $memcached->get("key_cache");

if($response==true) 
{
echo "キャッシュからの結果";
echo $response;
}

else

{
echo "キャッシュはまだ作成されていません。変更を確認するには再読み込みしてください";
$memcached->set("key_cache", "やった!Memcacheは今動作しています...") ;
}
}
catch (exception $e)
{
echo $e->getMessage();
}
?>

ファイルを保存して閉じたら、Webブラウザを開き、URL http://your-server-ip/test.phpを使用してPHPテストページにアクセスします。次の画面が表示されるはずです:

Test PHP memcached

次に、ページを再読み込みします。この時、ページはキャッシュメモリから読み込まれます。以下のように表示されます:

PHP result from memcached

認証でMemcachedを保護する

ユーザーベースの認証でMemcachedを保護するために、シンプル認証およびセキュリティレイヤー(SASL)を使用することをお勧めします。そのためには、サーバーにsasl2-binパッケージをインストールする必要があります。

apt install sasl2-bin

次に、SASL認証用のディレクトリと構成ファイルを作成します:

mkdir -p /etc/sasl2  
nano /etc/sasl2/memcached.conf

次の行を追加します:

log_level: 5
mech_list: plain
sasldb_path: /etc/sasl2/memcached-sasldb2

ファイルを保存して閉じたら、ユーザー資格情報を使用してSASLデータベースを作成します:

saslpasswd2 -a memcached -c -f /etc/sasl2/memcached-sasldb2 user1

以下のようにパスワードを設定します:

Password: 
Again (for verification): 

次に、Memcachedデータベースの所有権を変更します:

chown memcache:memcache /etc/sasl2/memcached-sasldb2

次に、次のコマンドを使用してMemcachedを確認します:

memcstat --servers="127.0.0.1"

次の出力が得られるはずです:

Server: 127.0.0.1 (11211)
     pid: 5525
     uptime: 462
     time: 1666099048
     version: 1.6.14
     libevent: 2.1.12-stable
     pointer_size: 64
     rusage_user: 0.110123
     rusage_system: 0.093906
     max_connections: 1024
     curr_connections: 1
     total_connections: 4
     rejected_connections: 0
     connection_structures: 2
     response_obj_oom: 0
     response_obj_count: 1
     response_obj_bytes: 49152
     read_buf_count: 6
     read_buf_bytes: 98304
     read_buf_bytes_free: 32768
     read_buf_oom: 0
     reserved_fds: 20
     cmd_get: 2
     cmd_set: 1
     cmd_flush: 0
     cmd_touch: 0
     cmd_meta: 0
     get_hits: 1
     get_misses: 1
     get_expired: 0
     get_flushed: 0
     delete_misses: 0

次に、Memcached構成ファイルを編集します:

nano /etc/memcached.conf

次の行を追加します:

-S
-vv

ファイルを保存して閉じたら、変更を適用するためにMemcachedサービスを再起動します:

systemctl restart memcached

次に、次のコマンドを使用してSASLサポートを確認します:

journalctl -u memcached |grep SASL

すべてが正常であれば、次の出力が得られます:

Journal file /var/log/journal/d97e195db6584d63aeedfdc35dc83c7f/user-1000.journal is truncated, ignoring file.
Oct 18 13:18:19 ubuntu2204 systemd-memcached-wrapper[14980]: Initialized SASL.

Memcached認証を確認する

まず、認証なしでMemcachedへの接続を再確認してみてください:

memcstat --servers="127.0.0.1"

コマンドは出力を生成しないはずです。次のシェルコマンドを入力してそのステータスを確認します:

echo $?

次のステータスコードを受け取るはずで、memcstatコマンドが失敗したことを意味します。

1

次に、ユーザー名とパスワードを指定してMemcachedコマンドを再実行します:

memcstat --servers="127.0.0.1" --username=user1 --password=password

次の出力が得られます:

Server: 127.0.0.1 (11211)
     pid: 14980
     uptime: 46
     time: 1666099143
     version: 1.6.14
     libevent: 2.1.12-stable
     pointer_size: 64
     rusage_user: 0.077843
     rusage_system: 0.049072
     max_connections: 1024
     curr_connections: 1
     total_connections: 3
     rejected_connections: 0
     connection_structures: 2
     response_obj_oom: 0
     response_obj_count: 1
     response_obj_bytes: 16384
     read_buf_count: 3
     read_buf_bytes: 49152
     read_buf_bytes_free: 16384
     read_buf_oom: 0

Python用のMemcachedをインストールする

PythonベースのWebアプリケーションにMemcachedを統合したい場合は、Python用のMemcached拡張をインストールする必要があります。次のコマンドを使用してインストールできます:

apt install python3-pip  
pip install pymemcache  
pip install python-memcached

結論

この記事では、Ubuntu 22.04にMemcachedサーバーをインストールする方法を説明しました。また、SASLベースの認証でMemcachedを保護する方法も説明しました。これで、アプリケーションのパフォーマンスを向上させるためにMemcachedを統合できることを願っています。質問があればお気軽にお尋ねください。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。