システム情報:
Varnishをサーバーにインストールしました。
私はそれを次のように始めました:
$ Sudo varnishd -f default.vcl -s malloc,1G -T 127.0.0.1:2000
varnishdが起動して実行中です。
default.vclの詳細(このページから: https://www.varnish-cache.org/trac/wiki/VarnishAndDrupal )
backend default {
.Host = "127.0.0.1";
.port = "80";
}
sub vcl_recv {
// Remove has_js and Google Analytics __* cookies.
set req.http.Cookie = regsuball(req.http.Cookie, "(^|;\s*)(__[a-z]+$
// Remove a ";" prefix, if present.
set req.http.Cookie = regsub(req.http.Cookie, "^;\s*", "");
// Remove empty cookies.
if (req.http.Cookie ~ "^\s*$") {
unset req.http.Cookie;
}
// Cache all requests by default, overriding the
// standard Varnish behavior.
// if (req.request == "GET" || req.request == "HEAD") {
// return (lookup);
// }
}
sub vcl_hash {
if (req.http.Cookie) {
hash_data(req.http.Cookie);
return (hash);
}
}
Vanishモジュールが有効になりました。
Settings.phpに追加された以下の設定
$conf['cache_backends'][] = 'sites/all/modules/varnish/varnish.cache.inc';
$conf['cache_class_cache_page'] = 'VarnishCache';
$conf['page_cache_invoke_hooks'] = FALSE;
ワニスモジュール構成ページのスクリーンショット:
パフォーマンスページのスクリーンショット:
次に、自分のサイトを閲覧します。 (匿名として)、さまざまなページを繰り返し更新します。ワニスのチェック統計
$ varnishtop
明らかにそれはリクエストを受信していない、何もキャッシュしていない。
http://www.isvarnishworking.com/ のサイトも確認してください。Vanishがサイトで作業していないことを示しています。
何が問題なのですか?
助けてくれてありがとう
デフォルトでは、Varnishはポート80で動作していません(この場合、Apacheがそのポートを使用しているため、これも動作しません)。 Apacheを設定して別のポートをリッスンし、そのポートをVarnishのバックエンド設定に使用する必要があります。また、ポート80をリッスンするようにVarnishを構成する必要があります。
デバッグするには、Varnishが現在どのポートをリッスンしているかを調べて、そのポートを使用して参照すると、varnishtopにトラフィックが表示されます。
私がワニス設定で漠然としている理由は、/ etc/sysconfig/varnishからスタートアップデフォルトを読み込むCentOSでのみワニスを使用したためです-Ubuntuを使用しているため、デフォルト設定がどこにあるかを調べる必要がありますシステムに保持されます。公正な出発点は、いくつかの手掛かりを与えるかもしれない/etc/init.d/varnishdスクリプトかもしれません。