我有問題,即使最簡單的Varnish Cache ESI測試工作。
嘗試和嘗試後,我想我在這裏問。Varnish Cache不會做ESI包括
基本上它只是不包括ESI文件。它只是返回 而不包括HTML。
這裏是我的清漆啓動命令:
varnishd -f /etc/varnish/default.vcl -s malloc,128M -T 127.0.0.1:2000 -a 0.0.0.0:8080;
這是我與測試的網址:
http://vbox.local:8080/varnish-tests/test.php
我VCL規則:
1)default.vcl
backend default {
.host = "127.0.0.1";
.port = "80";
}
sub vcl_fetch {
if (req.url ~ "test.php") {
esi; /* Do ESI processing */
set beresp.ttl = 24h;
} elseif (req.url ~ "esi_1.php") {
set beresp.ttl = 1m;
}
return(deliver);
}
我的樣本È測試ESI代碼
2)test.php的
<html>
<head>
<?php echo "Time 1: ".time(); ?>
<br />
The time 2 is: <esi:include src="/varnish-tests/esi_1.php"/> at this very moment.
</body>
</html>
的PHP來ESI包括
3)esi_1.php
<?php
echo "Time 2: ".time();
?>
我已經試過的上述許多變化VCL規則。
一切都不起作用。只是不知道我要去哪裏錯了?
任何意見/幫助非常感謝。
謝謝。
我使用的版本清漆-2.1.5 – Jacob 2011-04-01 04:30:06
你說的是什麼意思怎麼了?包含沒有得到處理嗎?標籤是否顯示在您在瀏覽器中獲得的HTML中?它會被替換爲什麼?是否有錯誤日誌來檢查?運行PHP的後端服務器是否在其訪問日誌中獲得正確的條目? – Charles 2011-04-01 05:41:01
嗨,是的標籤出現在瀏覽器收到的HTML。它並沒有被取代。在PHP中沒有記錄錯誤。 PHP訪問日誌只獲得對test.php的命中,而對esi_1.php沒有任何影響。 – Jacob 2011-04-01 05:55:46