Суть проблемы в том, что сертификаты LetsEncrypt действуют 3 месяца, а обновляются каждый месяц ...
Восемь лет назад я принимал участие в проектировании и разработке сервиса, который был должен ...
Восемь лет назад я принимал участие в проектировании и разработке сервиса, который был должен обслуживать запросы пользователей со всех уголков земного шара и координировать их действия. Работая над проектом я понял, что очень часто многие важные аспекты работы со временем просто игнорируются. Иногда это действительно не очень критично: если сервис локален и им пользуются только на определенной территории, либо пользователи естественным образом разделены на почти не взаимодействующие между собой географические кластеры. Однако же, если сервис объединяет пользователей по всему миру, то без четкого понимания принципов работы со временем уже не обойтись. Представим сервис, в котором общие события (совещания например) начинаются в какое-то строго определенное время, а пользователи рассчитывают на это. Какое время им показывать, в какой момент их беспокоить уведомлениями, что такое день рождения и когда можно поздравить человека — в статье я попробую это осмыслить.
Статья не претендует на глубину и/или академичность. Это попытка систематизировать опыт и обратить внимание разработчиков на не очень очевидные аспекты.
Читать дальше →
В предыдущих статьях («Google Cloud Endpoints на Java: Руководство. ч. 1», «Google Cloud ...
Часто клиенты спрашивают нас о p99-метрике (99-й перцентиль).
Это определенно ...
Что такое Varnish?
Varnish – это HTTP-ускоритель, очень полезный инструмент для ускорения работы сервера, особенно во время увеличения трафика на сайт. Он работает путем перенаправления посетителей на статические страницы, и переходит на виртуальный выделенный сервер, только если есть необходимость в активном процессе.
Требования
Для выполнения данного руководства нужен пользователь с привилегиями sudo, а также установленный и готовый к работе веб-сервер Apache.
Чтобы создать такого пользователя, читайте руководство «Начальная настройка сервера Ubuntu 12.04».
Для установки Apache понадобится всего одна команда:
sudo apt-get install apache2
1: Установка Varnish
Сайт проекта рекомендует устанавливать пакеты Varnish непосредственно из репозитория данного сайта.
Для начала получите репозиторий:
sudo curl http://repo.varnish-cache.org/debian/GPG-key.txt | sudo apt-key add -
Затем внесите репозиторий в список исходных кодов apt. Откройте файл:
sudo nano /etc/apt/sources.list
Затем добавьте репозиторий Varnish в список:
deb http://repo.varnish-cache.org/ubuntu/ lucid varnish-3.0
Сохраните и закройте файл.
В завершение нужно обновить apt-get и установить varnish:
sudo apt-get update
sudo apt-get install varnish
2: Настройка Varnish
Когда Apache и Varnish установлены, приступайте к настройке программ, чтобы снизить нагрузку на сервер в случае необходимости.
Varnish обслуживает контент на порту 80, а Apache работает на порту 8080.
Итак, откройте файл /etc/default/varnish:
sudo nano /etc/default/varnish
Раскомментируйте все строки после DAEMON_OPTS; конфигурации должны иметь следующий вид
DAEMON_OPTS="-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m"
Сохраните и закройте файл, а затем откройте файл default.vcl:
sudo nano /etc/varnish/default.vcl
Данный файл сообщает Varnish о местонахождении контента веб-сервера. По умолчанию Apache прослушивает порт 80, потому позже нужно будет немного изменить эти настройки. В этом файле нужно указать, что Varnish должен искать контент на порту 8080.
Конфигурация выглядит так:
backend default {
.host = "127.0.0.1";
.port = "8080";
}
3: Настройка Apache
Только что Varnish получил информацию, что Apache работает на порту 8080. Тем не менее, Apache до сих пор использует порт 80 (по умолчанию). Нужно исправить это несоответствие. Откройте файл ports:
sudo nano /etc/apache2/ports.conf
Измените номер порта в строках NameVirtualHost и Listen на 8080; кроме того, доступ к виртуальному хосту должен иметь только локальный хост. Отредактированные настройки будут выглядеть так:
NameVirtualHost 127.0.0.1:8080
Listen 127.0.0.1:8080
Кроме того, нужно также изменить эти настройки в файле default (это файл виртуального хоста по умолчанию):
sudo nano /etc/apache2/sites-available/default
Парметр Virtual Host также должен иметь значение 8080:
<VirtualHost 127.0.0.1:8080>
Сохраните изменения и закройте файл. Затем перезапустите Apache и Varnish, чтобы изменения вступили в силу.
sudo service apache2 restart
sudo service varnish restart
При переходе к домену сервера должна появиться кэшированная версия Varnish; чтобы просмотреть подробности работы Varnish, используйте команду:
varnishstat