ubuntu前書きMemcachedは、アクセスを高速化するために、ディスクではなくメモリに情報を保存する分散オブジェクトキャッシングシステムです。PHPのMemcacheモジュールを使用すると、ファイルシステムに保存されるセッションを処理できます。MemcachedにPHPセッションを保存することには、セッションの冗長性を維持するために、Memcachedを実行している複数のクラウドサーバーにそれらを配布できるという利点があります。このMemcachedセットアップがなければ、アプリケーションが複数のサーバーで負荷分散されている場合、ロードバランサーでセッションスティッキ性を構成する必要があります。これにより、ユーザーエクスペリエンスが維持され、突然ログオフされるのを防ぎます。セッションを処理するようにMemcachedを構成すると、Memcachedプール内のすべてのクラウドサーバーが同じセッションデータのセットを持つようになり、セッションを保持するために1つのサーバーに固定する必要がなくなります。[LAMPの設定に精通していることを前提としています。Ubuntuのサーバー]。*イメージで3つのドロップレットを使用します。Networking]チェックボックスがチェックされていることを確認します。後で必要になるため、プライベートIPアドレスを書き留めておきます。3つのサーバーすべてにLAMPをインストールします。リポジトリを更新してApacheをインストールします。apache2PHPとApacheのmod_php拡張機能をインストールします。[この記事]を参照してください。*に、MemcachedデーモンとPHPのMemcacheモジュールをインストールします。memcachedPHPには、php5-memcacheとphp5-memcachedの2つのパッケージがあります(末尾の「d」に注意してください)。最初のパッケージ(memcache)は、依存関係のない軽量なため使用します。memcacheとmemcachedの比較を読んでください。Memcachedサービスは、localhost(127.0.0.1)でのみリッスンします。これは、プライベートネットワークからの接続を受け入れるように変更する必要があります。/etc/memcached.conf次の行を見つけます。127.0.0.1このサーバーのプライベートIPアドレスでリッスンするように変更します。+`サービスを再起動します。127.0.0.1+」を適切なプライベートIPアドレスに置き換えます。+`サービスを再起動します。php.ini`ファイルを開きます。以下の構成ディレクティブを見つけます。=次のようにMemcacheを使用するように変更します。+`で3つのプライベートIPアドレスすべてを使用します。+`のコメントを解除する必要がある場合があります。*を忘れずに入力してください。他の2つのサーバーにまったく同じ設定を追加します。'tcp://:11211,tcp://:11211,tcp://:11211'この構成は、セッション共有が適切に機能するために、すべてのドロップレットで正確に同じである必要があります。+`ファイルを編集します。/etc/php5/mods-available/memcache.iniこのファイルの最後に次の構成ディレクティブを追加します。1に等しくなければなりません。これはhttps://bugs.php.net/bug.php?id=58585[PHPのバグ]によるものです。+`で指定されたすべてのサーバーに書き込みます。RAID-1セットアップに似ています。FPMデーモンを再起動します。*でこれらの手順を正確に繰り返します。ステップ4-セッションの冗長性をテストするこのセットアップをテストするには、すべてのドロップレットで次のPHPスクリプトを作成します。print_r($_COOKIE);?>このスクリプトはテスト専用であり、ドロップレットが設定されたら削除できます。curlを使用して最初のドロップレットでこのファイルにアクセスし、Cookie情報を抽出します。'Set-Cookie:'これにより、次のような出力が返されます。Cookieをコピーし、このCookieを使用して他のドロップレットにリクエストを送信します。1440秒間リクエストが行われない場合、このセッションはPHPによって削除されるため、この時間内にテストを完了してください。これについて詳しくは、PHPのhttp://php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime[session.gc-maxlifetime]をご覧ください。http:///session.phpセッションがすべてのドロップレットに引き継がれていることがわかります。+`サービスを停止し、このファイルにアクセスします。stopDropletは、他の2つのサーバーに保存されているセッション情報を透過的に使用します。8lebte2dnqegtp1q3v9pau08k4)セッションスティッキネスを設定する手間をかけずに、リクエストを均等に分散するようにロードバランサを設定できるようになりました。+`を再度開始します。startステップ5-IPTablesでMemcachedを保護するMemcachedがプライベートネットワークを使用している場合でも、同じデータセンター内の他のDigitalOceanユーザーは、プライベートIPを知っていればDropletに接続できます。[IPTablesルールの設定]のみを許可しますMemcachedプール内のクラウドサーバーが相互に通信します。セッションの冗長性のテスト後にこの手順を実行しているため、誤ったルールが適用された場合に発生する可能性のある問題のトラブルシューティングが容易になります。*にファイアウォールルールを作成します。ACCEPT典型的なLAMPサーバーでは、以下がルールの完全なセットになります。*のプライベートIPアドレスを使用してファイアウォールルールを入力します。*で同じことを行います。*のテストを繰り返して、ファイアウォールがトラフィックをブロックしていないことを確認します。