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権限を持つユーザーとして、次のコマンドを入力します。code language-bash apt-get -y updatecode language-bash apt-get -y install php5-memcached memcached -
CACHESIZEおよび-lの memcached 設定を変更します。-
/etc/memcached.confをテキストエディターで開きます。 -
-mパラメーターを見つけます。 -
その値を少なくとも
1GBに変更します -
-lパラメーターを見つけます。 -
値を
127.0.0.1またはlocalhostに変更します -
memcached.confへの変更を保存し、テキストエディターを終了します。 -
memcached を再起動します。
code language-bash service memcached restart
-
-
Web サーバーを再起動します。
Apache の場合、
service apache2 restart -
次の節に進みます。
Magentoをインストールする前に、memcached が機能することを確認
Adobeでは、Commerceをインストールする前に、memcached が機能することをテストすることをお勧めします。 この操作には数分しかかかりません。また、後でトラブルシューティングを簡略化することもできます。
memcached が Web サーバで認識されることを確認します。
memcached が Web サーバで認識されることを確認するには、次の手順に従います。
-
Web サーバーの docroot に
phpinfo.phpファイルを作成します。code language-php <?php // Show all information, defaults to INFO_ALL phpinfo(); -
Web ブラウザーでそのページに移動します。 例:
code language-http 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