Я автор Начало работы с Varni sh Cache . Спасибо за покупку моей книги.
Файл varnish.service
является файлом systemd
. Он не имеет ничего общего с самим Varni sh, но это то, что Ubuntu использует для управления сервисом Varni sh.
Команда ExecStart
Вот как я должен установить ExecStart
команда в varnish.service
:
/usr/sbin/varnishd -f /etc/varnish/default.vcl -a http=:80,HTTP -a proxy=:8443,PROXY -s malloc,1G -S /etc/varnish/secret -T localhost:6082
Чего вы не видите в этой команде:
-F
: -F
Флаг имеет смысл, только если вы запускаете процесс varnishd
на переднем плане. Например, в Docker. Поскольку вы используете systemd
для запуска Varni sh, вы можете удалить этот параметр -b
: опция -b
используется для определения местоположения вашего бэкенда. Если вы используете -b
, вы не можете использовать -f
, и вам потребуется -f
для вашей конфигурации VCL.
Что означают опции
-f
: расположение файла VCL. Относится к /etc/varnish/default.vcl
в этом случае -a
: адрес прослушивания Varni sh. В этом случае это порт 80 для обычного HTTP и порт 8443 для соединений, использующих протокол PROXY -s
: размер кеш, в данном случае 1 ГБ -S
: расположение файла секретного ключа. В этом случае это /etc/varnish/secret
-T
: адрес прослушивания CLI . В этом случае это localhost
на порт 6082
VCL-файл
VCL-файл, который содержит расположение бэкэнда и определяет правила кэширования. , Этот файл находится в /etc/varnish/default.vcl
.
Это минимальный объем кода VCL, который необходимо запустить:
vcl 4.0;
backend default {
.host = "localhost";
.port = 8080;
}
Этот конфиг предполагает, что ваш веб-сервер работает на той же машине, на порту 8080 .
Вы можете расширить конфигурацию varni sh, подключив различные состояния процесса Varni sh Finite State Machine .
См. https://varnish-cache.org/docs/6.0/reference/vcl.html#varnish -configuration-language , чтобы узнать больше о VCL.
Активация изменений
Всякий раз, когда вы обновляете varnish.service
, вам необходимо перезагрузить systemd
. Эта команда вам нужна:
sudo systemctl daemon-reload
Чтобы активировать изменения в вашем файле VCL, вам нужно выполнить следующую команду:
sudo systemctl reload varnish.service
Удачи!