Ubuntu での memcached の設定
作成対象:
- 経験者
- 管理者
- 開発者
このセクションでは、Ubuntu に memcached をインストールする手順を説明します。
PHP は memcache をネイティブでサポートしていないので、それを使用するには PHP 用の拡張モジュールをインストールする必要があります。 PHP には 2 つの拡張モジュールがあり、どちらを使用するかをデコードすることが重要です。
-
memcache
(no d) – 定期的にメンテナンスされていない、古いが一般的な拡張機能。memcache
拡張モジュールは現在 PHP 7 で動作します 動作しません。 memcache に関する PHP のドキュメントを参照してください。Ubuntu の正確な名前は
php5-memcache
です。 -
memcached
(とd
) – PHP 7 と互換性のある、新しくメンテナンスされた拡張機能です。 memcached に関する PHP のドキュメントを参照してください。Ubuntu の正確な名前は
php5-memcached
です。
Ubuntu での memcached のインストールと設定
Ubuntu に memcached をインストールして設定するには:
-
root
権限を持つユーザーとして、次のコマンドを入力します。apt-get -y update
apt-get -y install php5-memcached memcached
-
CACHESIZE
および-l
の memcached 設定を変更します。-
/etc/memcached.conf
をテキストエディターで開きます。 -
-m
パラメーターを見つけます。 -
その値を少なくとも
1GB
に変更します -
-l
パラメーターを見つけます。 -
値を
127.0.0.1
またはlocalhost
に変更します -
memcached.conf
への変更を保存し、テキストエディターを終了します。 -
memcached を再起動します。
service memcached restart
-
-
Web サーバーを再起動します。
Apache の場合、
service apache2 restart
-
次の節に進みます。
Magentoをインストールする前に memcached が動作することを確認します。
Adobeでは、Commerceをインストールする前に、memcached をテストして機能することを確認することをお勧めします。 この操作には数分しかかかりません。また、後でトラブルシューティングを簡略化することもできます。
memcached が Web サーバで認識されることを確認します。
memcached が Web サーバで認識されることを確認するには、次の手順に従います。
-
Web サーバーの docroot に
phpinfo.php
ファイルを作成します。<?php // Show all information, defaults to INFO_ALL phpinfo();
-
Web ブラウザーでそのページに移動します。 例:
http://192.0.2.1/phpinfo.php
-
memcached が次のように表示されていることを確認します。
memcached バージョン 3.0.5 以降を使用していることを確認します。
memcached が表示されない場合は、web サーバーを再起動してブラウザーページを更新します。 それでも表示されない場合は、
php-pecl-memcached
拡張機能をインストールしたことを確認します。
memcached がデータをキャッシュできることを検証
このテストでは、PHP スクリプトを使用して、memcached がキャッシュデータを格納および取得できることを検証します。
このテストについて詳しくは、Ubuntu で Memcache をインストールして使用する方法チュートリアルを参照してください。
Web サーバーの docroot に、次の内容の cache-test.php
を作成します。
$meminstance = new Memcached();
$meminstance->addServer("<memcached hostname or ip>", <memcached port>);
$result = $meminstance->get("test");
if ($result) {
echo $result;
} else {
echo "No matching key found. Refresh the browser to add it!";
$meminstance->set("test", "Successfully retrieved the data!") or die("Could not save anything to memcached...");
}
ここで、<memcached hostname or ip>
は localhost
、127.0.0.1
、memcache ホスト名または IP アドレスのいずれかです。 <memcached port>
はリッスンポートです(デフォルトは 11211
)。
Web ブラウザーでそのページに移動します。 例:
http://192.0.2.1/cache-test.php
ページに初めて移動すると、次の内容が表示されます。No matching key found. Refresh the browser to add it!
ブラウザーを更新します。 メッセージが「Successfully retrieved the data!
」に変わります
最後に、Telnet を使用して memcache キーを確認できます。
telnet localhost <memcache port>
プロンプトに対して、と入力します。
stats items
結果は次のようになります。
STAT items:2:number 1
STAT items:2:age 106
STAT items:2:evicted 0
STAT items:2:evicted_nonzero 0
STAT items:2:evicted_time 0
STAT items:2:outofmemory 0
STAT items:2:tailrepairs 0
STAT items:2:reclaimed 0
STAT items:2:expired_unfetched 0
STAT items:2:evicted_unfetched 0
memcached ストレージをフラッシュし、Telnet を終了します。
flush_all
quit