タグ付けされた質問 「varnish」

Varnishは、Linux / Unixシステム用の高性能リバースプロキシおよびロードバランサーパッケージです。

13
Nginxをキャッシングリバースプロキシとして設定する方法は?
最近、Nginxがリバースプロキシ機能にキャッシュを追加したと聞きました。私は周りを見回したが、それについて多くの情報を見つけることができなかった。 Apache / Djangoの前にNginxをキャッシュリバースプロキシとして設定します:一部の(すべてではない)動的ページのApacheへのNginxプロキシリクエストを取得し、生成されたページをキャッシュして、キャッシュからそれらのページの後続のリクエストを処理します。 理想的には、2つの方法でキャッシュを無効にしたいと思います。 キャッシュされたアイテムに有効期限を設定します キャッシュされたアイテムを明示的に無効にします。たとえば、Djangoバックエンドが特定のデータを更新した場合、影響を受けるページのキャッシュを無効にするようにNginxに指示したい それを行うためにNginxを設定することは可能ですか?どうやって?

5
注文:1. nginx 2.ワニス3. haproxy 4. webserver?
これらのすべてをフローで組み合わせることを推奨する人がいますが、多くの重複する機能があるようですので、実際のWebサーバーにアクセスする前に3つの異なるプログラムを通過させたい理由を掘り下げたいと思います。 nginx: ssl:はい 圧縮:はい キャッシュ:はい バックエンドプール:はい ワニス: ssl:no(トンネル?) 圧縮:? キャッシュ:はい(主な機能) バックエンドプール:はい haproxy: ssl:no(トンネル) 圧縮:? キャッシュ:いいえ バックエンドプール:はい(主な機能) 主な機能の利点の一部を得るためだけに、これらすべてをメインWebサーバーの前にチェーン化する意図はありますか? 非常に多くのデーモンが同じようなことを一緒にストリームするのは非常に壊れやすいようです。 展開と注文の優先順位とその理由は何ですか?
50 nginx  web  haproxy  varnish 

2
ニスキャッシュ-デフォルトTTL?
VCLファイルで次のようにVarnishでTTLを設定できることを発見しました。 sub vcl_fetch { # 1 minute set obj.ttl = 1m; } しかし、デフォルト設定は何ですか(バックエンドサーバーがcache-controlヘッダーを設定しないと仮定した場合)?
23 varnish  cache  ttl 

2
nginxを使用するよりも、nginxを使用した場合の方が優れていますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 私はワニスでnginxを使用することについて多くの話を見ますが、その理由はわかりません。nginxでは十分ではありませんか? NginxにはSSIがあり、リバースプロキシキャッシュがあり、軽量で、SSLがあり、cgi、fpmなどで動作します。 Varnishにも同じものがありますが、sslもcgiもサポートされていません。
22 nginx  varnish 


3
選択したニスのキャッシュサイズが理想的かどうかを確認する方法は?
以下を使用して、512 MBのキャッシュサイズを使用するようにニスキャッシュを構成しました。 varnishd ... -s file,/var/cache/varnish.cache,512M 質問: 512 MBが小さすぎる、大きすぎる、または大丈夫かどうかを監視するにはどうすればよいですか? キャッシュの現在の使用サイズを取得するにはどうすればよいですか? キャッシュがいっぱいになったためにオブジェクトがキャッシュから削除される頻度を確認するにはどうすればよいですか?
20 varnish 

4
パッケージリポジトリをプロキシするためのベストプラクティス
企業ネットワークにCentOSサーバーのコレクションがあります。セキュリティ上の理由から、ほとんどのサーバーは、サーバーのコア機能要件でない限り、一般的なアウトバウンドインターネットアクセスを持ちません。 これは、パッケージを更新する必要があるときに課題を作成します。yumリポジトリについては、現在、インターネットから必要なすべてのリポジトリをミラーリングし、ミラーをイントラネット内で利用できるようにします。開発、QA、ステージング、2つの本番データセンターの5つの環境のそれぞれに、各リポジトリのコピーを保持しています。 現在、言語固有のパッケージリポジトリについては解決していません。サーバーがrubygems、PyPI、PECL、CPAN、またはnpmからの更新を必要とする場合、サーバーはパッケージを取得するために一時的なアウトバウンドインターネットアクセスを取得する必要があります。私はrubygemsとPyPIのミラーリングを開始するように求められましたが、残りはおそらく続くでしょう。 これらはすべて不格好で、うまく機能しません。完全なミラーの複雑さとディスクオーバーヘッドを排除するために、ある環境では単一のキャッシングプロキシに置き換え、他の環境では4つのデイジーチェーンプロキシに置き換えたいと思います。さらに: フォワードプロキシまたはリバースプロキシのいずれかです。各パッケージマネージャーは、プロキシサーバーまたはカスタムリポジトリエンドポイントをサポートします。これは、ローカルミラーまたはリバースプロキシのいずれかです。 きめ細かいアクセス制御が必要なので、どのクライアントIPがどのレポドメインに接続できるかを制限できます。 クライアントは、不明なドメインへのリダイレクトを追跡できる必要があります。元のリクエストはrubygems.orgに限定される場合がありますが、そのサーバーがランダムなCDNに302を返す場合、それに従うことができるはずです。 HTTPSバックエンドをサポートする必要があります。他のSSLサーバーを偽装する必要は必ずしもありませんが、HTTPS経由でHTTPSサイトを再公開したり、別の証明書で終了して再暗号化できる必要があります。 最初は逆プロキシを見ていたが、プロキシ内で302リダイレクトを内部的に解決できるのはVarnishだけだと思われる。ただし、無料版のVarnishはHTTPSバックエンドをサポートしていません。現在、Squidをフォワードプロキシオプションとして評価しています。 これは企業ネットワーク内で比較的一般的な問題になるはずのように思えますが、他の人がこれをどのように解決したかの例を見つけるのに苦労しています。誰かが同様の何かを実装しましたか、それを行うための最善の方法について考えを持っていますか? ありがとう!


1
ミスター・タイム・トゥ・ファースト・バイトの奇妙な事件
私はに基づいてLinode 1024 VPSでウェブサーバーを持っています Ubuntu 11.10 Nginx 1.0.5 PHP 5.3.6(PHP-FPM、APCを使用) ワニス3.0.2 また、WordPress 3.3.1に基づいたブログもいくつかあります。それらの1つは、サーバーをテストするための既定の構成、テーマ、および "Hello World"投稿を含む単純なブログです。もう1つは、ほぼ1万件の投稿と1万件以上のコメントを含む、他のサーバーから複製されたブログです。このブログには、1日あたり5kのユニークユーザーがいます。 サーバーは、テストブログの abテストで良い数値を出しますが、クローンブログと同じテストを行うことは不可能です:abテストはサーバーのロードが多すぎるため、プロセスを停止する必要があります。この本当に悪い結果。 htopは、通常の動作では「通常」の負荷も示しますが、abテスト中は通常の大きな負荷を示します。 別の奇妙なことが起こっています(私にとって最も重要なことです):最初のバイトまでの時間が非常に長いですが、その後、サイトの読み込みが非常に速くなります。これはtools.pingdom.comなどのサービスで簡単にテストでき、この結果が得られます。「待機時間」を意味する黄色の領域に注意してください。 なんでこんなことが起こっているの?考えられるアイデア: 不正なPHP-FPM設定 Linode DNSの応答時間はひどいです。ナンセンス-テストブログはDNSをうまく解決し、TTFBは素晴らしい 悪いNginx設定 誰かがさらに情報を必要とする場合に備えて、 ここに、現在のクローンブログnginx構成ファイル (/etc/nginx/sites-available/muycomputerpro.com)があります。 ここに、現在のmy.cnf構成(/etc/mysql/my.cnf)があります(現時点では、キャッシュではなく、これは過去のTTFBに影響を与えていません) ここには、現在のPHP-FPM構成(/etc/php5/fpm/pool.d/www.conf)があります

4
Nginx Varnish Nginx Django?
djangoアプリがあり、その前のサーバーにVarnishをセットアップしたい。で、別のserverfaultのスレッド誰かがワニスの前にnginxのを置くことを提案しました。 キャッシングサーバーのワニスの前にNginxを配置する必要がありますか?その場合、アプリサーバーでNginxを使用する必要がありますか?
13 nginx  django  varnish 

2
ワニスと他の逆プロキシ
ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け付けていません。 私は、VarnishをすべてのWebトラフィックのキャッシングリバースプロキシとして展開している組織と協力しています。彼らのトラフィックは、顧客が生成した多くの動的なWebサイトであり、静的なアセットの通常のコレクションが脇にあります。 私はワニスを好きにしていますが(原則としてかなり良いアーキテクチャを持っていると思います)、それを管理し、問題が発生したときにトラブルシューティングするのに苦労していますので、それが本当に正しい選択かどうか疑問に思っています。私は過去に逆プロキシとしてsquidを使用しましたが、同じ種類の役割ではないため、比較のための明確な根拠がありません。 私の質問は、生産でワニスを展開したか、代替案に対して真剣に評価した人々を対象としています。それにとどまるか、切り替えるためのあなたのキーポイントは何でしたか、そしてあなたが何か他のものを使用した場合、何を使用することになりましたか?

2
SSI(サーバー側インクルード)とESI(エッジ側インクルード)の主な違い
Webサーバーレベルで静的ページに動的コンテンツを含める必要があります。私がこれまでに発見した2つのオプションがあるServer Side Include (SSI)とEdge Side Include (ESI)。 起源は、一方でSSI、古いようだと(というあいまい95からイリノイ大学からのキャッシュされたページを参照のようです、どうやらそれからだNCSA httpdネットの95%程度の電力を使用するWebサーバのことという、) ESI(より最近の喜びようだW3主にアカマイの男性によって書かれた2001年の仕様)。 また、私はVarnish+ESIについて聞き続けており、したがって、それが進むべき道なのかどうか疑問に思っています。しかし、私はすでにある場所でセットアップしていnginxただけサポートして、SSI、、フォローしたいKISS原理をし、使用を避けるVarnish可能なすべての場合。 各ページの上部に動的なユーザーバーを含めることになる直接的なユースケースの場合、私SSIは仕事をすると信じています。しかし、私は私のウェブサイトが成長するにつれて、私がESIすべてを再設計することを余儀なくされるサポートされている機能だけが必要になるのではないかと心配しています(最終的に読者は言います): サポートされSSIていない主な機能は何ESIですか?

2
varnishadmを使用して単一のURLのニスキャッシュを消去する
ワニスは、Wordpress Webサイトで使用されています。 ドメイン全体ではなく、単一のURLのVarnishを削除したいと思います。 このコマンドを使用して、ドメイン全体でVarnishを再起動できます。 varnishadm -T :6082 -S /etc/varnish/secret 'ban req.http.host ~ \"http://www.foo.com\" && req.url ~ \"^/\"' ただし、1つのURLについてのみワニスをパージしたいと思います。 例: www.foo.com/url_to_be_purged 前のコマンドを試して、単一のURLに置き換えました。 varnishadm -T :6082 -S /etc/varnish/secret 'ban req.http.host ~ \"http://www.foo.com/url_to_be_purged\" && req.url ~ \"^/\"' しかし、それは機能しませんでした、URLはまだHITワニスにありました。 どうすればこれを達成できますか? 更新 ghlooghの答えを示唆したように、次のコマンドを試しました。 varnishadm -T :6082 -S /etc/varnish/secret ban "req.http.host == http://www.foo.com && req.url == …
12 varnish  cache 

7
N Apacheサーバー間で着信Webトラフィックのバランスをとるにはどうすればよいですか?
Heartbeat / Squid / Varnish / etcのようなものを使用して、内部Apacheインスタンス間で着信トラフィックの量のバランスを取りたいと考えています。私のものはすべてVPSで実行されるので、これはハードウェアではなくソフトウェアでなければなりません。この分野での経験はあまりないので、用語を誤用して間違ったパッケージを選択しているとすみません。 私は自分が何を求めているかを説明するために何かを作成しました。緑の側は初期設定の外観であり、青の側はトラフィックの増加によりApacheインスタンスを追加した後の外観です。これはこれらの動作の方法ではないかもしれませんが、理想的にはドメインのDNSにバランサーのIPを追加します。次に、バランサーは各Apacheインスタンス上にある接続の数を確認し(内部IPまたは外部IPの構成リストを介して)、接続を均等に分配します。青色には、2番目のバランサーがあります。ある時点で、バランサーにも助けが必要になると確信しています。 たぶん私はこれについて間違っていますが、「バランサー」がどうあるべきかについての助けと、それらを設定する方法のベストプラクティスを探しています。 どんな助けも素晴らしいでしょう。

2
UbuntuにVarnishモジュールをインストールする方法
Varnish Cache用の追加モジュール、Shield moduleをインストールしたい。 どうやってやるの?UbuntuリポジトリからVarnish 3.0をインストールしました。 モジュールがコンパイルする必要があるVarnishソースを取得するにはどうすればよいですか?Varnishもソースからコンパイルする必要がありますか?これにより、リポジトリを介したVarnishの更新が無効になりますか? 誰かが段階的な指示を与えることができますか?
11 ubuntu  varnish 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.