web-dev-qa-db-ja.com

ニス+複数のウェブヘッド=ファイル/(css/*.css|js/*.js)がありません

私はこの奇妙な問題を抱えており、何か間違ったことをしているのが私なのか、それとも単に何かが足りないのかわかりませんが、あなたの何人かがここで少し私を導くことができます...

ワニスサーバーをセットアップし、ワニス自体の中で2つのバックエンドを作成し、directorを使用してWebヘッドにラウンドロビンを実行できます。私は自分のWebheadの1つをダウンさせることができ、もう1つはワニスにコンテンツを提供したり、その逆を行うことができるため、その部分は正常に機能しているようです。

しかし、ここにキッカーがあります...ときどきページが適切にロードされないことに気づいたので、なぜか調べてみると、ファイルの一部が304または404であることに気づいたので、(files/css /。 cssまたはfiles/js/.jsが欠落している)ため、rsyncを実行すると、これらのディレクトリにすべて同じコンテンツが含まれているように見えますが、別のページに移動すると、drupalが生成されるようですそれらのより多く、ワニスはヒットのためにラウンドロビンに行くので、あるWebheadからのページの一部と別のWebheadからの別の部分にサービスを提供します。または404。

お知らせ下さい

1
alexus

これは、CSS/JSの最適化をオンにしているときに発生します。これらのファイルは、コンテキスト(ブラウザーがアクセスしたページ)に関して生成されるため、ラウンドロビンがターゲットサーバーを変更したときに、ビジターに一部のファイルが提供されません。

セッションごとに同じサーバーにとどまるようにラウンドロビンを構成できます(次を参照してください: Varnish 2.1での純粋なVCL Cookieベースのスティッキーセッション )。ただし、通常、NFS共有をsites/default/filesフォルダーを配置するサーバー。

ソース:DrupalのCSSおよびJavaScript設定を最適化すると、複数のサーバー環境で問題が発生します

8
tostinni

セッションは「スティッキーセッション」と呼ばれ、「ワニススティッキーセッション」でグーグルしたときの最初の結果は次のとおりです。 http://monolight.cc/2011/01/pure-vcl-cookie-based-sticky- sessions-in-varnish-2-1 /

ただし、これは役に立ちません。複数のWebサーバーがある場合、それらの間でファイルディレクトリを共有する必要があります。 css/jsの集計だけでなく、アップロードされたファイルなども含まれます。 NFSは1つのオプションですが、高可用性が必要な場合は、新たに単一障害点を導入する必要があることを覚えておく必要があります。

Drupalの高性能ホスティングプラットフォームであるPantheonは、複数のWebサーバー間でファイルディレクトリを共有するための完全に新しいファイルシステムを発明し、既存のソリューションの利点と欠点も概説した興味深い記事を最近公開しました: https://getpantheon.com/news/inside-pantheon-valhalla-filesystem

1
Berdir