EC2スケーリングでDrupalをセットアップするにはどうすればよいですか?

drupal.stackexchange https://drupal.stackexchange.com/questions/4457

  •  16-10-2019
  •  | 
  •  

質問

Drupalサイトをスケーリングしたいのですが、DrupalとAmazon EC2でどのようにアプローチするのか疑問に思っていました。これは少し関連しています オンデマンドインスタンスでクラウドでDrupalを使用する方法.

Amazonを使用すると、サーバーを監視できます。特定のメトリックがヒットした場合、ロードバランスのある新しいインスタンスを起動できます。私の質問は次のとおりです。

  • Drupalは、ユーザーが物事を行うように特定のファイルを作成しますか?すべてがデータベースにありますか? (すべてのノードが指す個別のデータベースサーバーがあります。)
  • セッションはローカルですか、それともデータベースにもありますか?ユーザーがサーバーAに接続し、サーバーBに移動する状況を考えています。ユーザーは何かを失いますか?

それが役立つ場合、私はDrupal 6を使用しています。

役に立ちましたか?

解決

  • Drupal Coreコードは、ユーザーがファイルをアップロードしたときにのみファイルを作成します。サードパーティモジュールを使用すると、他の場合にファイルを作成できます。たとえば、使用している場合 Apache solr検索統合 一部のファイルを作成できます。代替キャッシュシステムを実装するモジュールを使用している場合、一部のファイルも作成できます。

  • sess_write() 「{Sessions}」テーブルにセッションIDを保存し、の値を一緒に $user->cache, 、ユーザーが接続するために使用するIPアドレスと現在のタイムスタンプ。

db_query("UPDATE {sessions} SET uid = %d, cache = %d, hostname = '%s', session = '%s', timestamp = %d WHERE sid = '%s'", $user->uid, isset($user->cache) ? $user->cache : '', ip_address(), $value, time(), $key);
if (db_affected_rows()) {
  // Last access time is updated no more frequently than once every 180 seconds.
  // This reduces contention in the users table.
  if ($user->uid && time() - $user->access > variable_get('session_write_interval', 180)) {
    db_query("UPDATE {users} SET access = %d WHERE uid = %d", time(), $user->uid);
  }
}

他のヒント

2018年、 Bitnami Debian Linuxとすべての必要なコンポーネントを備えたLAMPスタックを備えたAWS EC2にDrupal 8をインストールするのに適したオプションです。 Drush&Composerを使用して、バージョンコントロール用のCMS、Gitを管理します。使用する必要があります AWS RDS弾力性のある豆のように Cluster Server構成でMySQLまたはMariaDBを使用する場合のデータベース同期のロードバランサーとして。

ライセンス: CC-BY-SA帰属
所属していません drupal.stackexchange
scroll top