Я следил за учебником The Perfect Server - Ubuntu 11.10 [ISPConfig 3] здесь. Я использую сервер Ubuntu 11.04 (Natty Narwhal) с 1024 RAM в Rackspace. Я прошел и обновился до ISPConfig 3.0.4. До сих пор все работало отлично, когда я решил попробовать установить Varnish. Сначала я установил Varnish, выполнив:
apt-get update
apt-get upgrade
apt-get install varnish
По-видимому, была установлена версия Varnish 2.x, поэтому я вернулся и добавил репозитории для пакетов, предоставленных varnish-cache.org
curl http://repo.varnish-cache.org/debian/GPG-key.txt | apt-key add -
echo "deb http://repo.varnish-cache.org/ubuntu/ lucid varnish-3.0" >> /etc/apt/sources.list
apt-get update
apt-get install varnish
Это обновило мою версию Varnish до 3.0.2.
Затем я внес следующие изменения:
vim /etc/default/varnish
change DAEMON_OPTS to port 80:
vim /etc/apache2/ports.conf
NameVirtualHost *:8000
Listen 8000
vim /etc/apache2/sites-available/default
<VirtualHost *:8000>
vim /etc/apache2/sites-available/ispconfig.vhost
Listen 8080
NameVirtualHost *:8080
<VirtualHost _default_:8080>
Затем я приступил к настройке других моих хостов на использование 8000 (порт apache2)
Итак, со всем этим набором я перезапускаю Apache2 и Varnish для тестирования. Я использовал Firebug в Firefox 11.0
Результат того, что я вижу, похоже, не указывает на то, что Varnish работает полностью правильно:
Прежде всего я вижу: X-Varnish 1644834493, но я слышал, что, если у вас нет двух временных меток рядом, он, вероятно, работает неправильно, поэтому, например, я подумал, что могу увидеть что-то вроде:
X-Varnish 1644834493 1644837493
Также, если я заметил это в выводе, который кажется непостоянным:
X-Drupal-Cache MISS
Бывают случаи, когда он также говорит HIT ....
Итак, у меня возникает вопрос: я думаю, что Varnish частично работает, однако почему я не вижу две отметки времени на X-Varnish, как я думаю, что должен, и правильно ли выглядит вывод на снимке экрана? Если Varnish не работает, может кто-нибудь сказать мне, что я делаю не так?
Заранее спасибо.
Что касается заголовка X-Varnish: первый идентификатор - это внутренний идентификатор запроса, поэтому он должен каждый раз меняться. Если есть второе значение, то Varnish предоставляет вам кэшированный объект. Второй ID - это ID внутреннего кеша этого объекта.
Что касается вашего предположения, вы правы, что Varnish не доставил кэшированный контент. Вы можете дополнительно проверить заголовок Age, который сообщает нам, что контент старше 0 секунд (так что он свежий). Допустимый максимальный возраст ответа установлен в заголовке Cache-Control: в вашем случае 180 секунд. Это немного, но достаточно для дальнейшего тестирования.
Пожалуйста, проверьте заголовки ответов на следующие действия (позаботьтесь о том, чтобы включить кеширование в вашем браузере - для Firefox вы можете включить / отключить его через панель веб-разработчика):
Браузер по-разному обрабатывает два способа получения контента (подробности см. В заголовках запроса). Нажав кнопку перезагрузки (или отключив кеширование через панель веб-разработчика), ваш браузер отправляет заголовки Cache-Control, чтобы принудительно доставить свежий контент, и Varnish учитывает их. При повторной загрузке одного и того же URL-адреса (например, щелчок по ссылкам, использование кнопок вперед и назад, нажатие Enter в адресной строке браузера ...) ваш браузер не отправляет эти заголовки Cache-Control, а Varnish может доставлять кэшированный контент .
Если вы хотите кэшировать это поведение и хотите принудительно использовать кешированный контент, вы можете оптимизировать конфигурацию Varnish. Но это уже другая история.
Что касается заголовка X-Drupal-Cache: этот заголовок устанавливается серверной частью Varnish. Это говорит вам, что Varnish использовал свежий контент для своего кеша или ответа.