Кажется, у меня проблема с varnish
. Ничего особенного, но я изо всех сил пытаюсь понять, где я могу ошибиться.
В принципе, varnish
настроен для работы на порту 6081
что он делает; тем не мение. Я пробовал редактировать /etc/default/varnish
config и изменение daemon_opts
к 80
, и даже прокомментировал-все из файла, но лак все еще работает 6081
.
Так что либо он не использует /etc/default/varnish
config и получить его настройки в другом месте, или /etc/default/varnish
не имеет значения.
Мой вопрос: кто-нибудь знает, какой файл конфигурации он может использовать для получения своих настроек, или, возможно, как я могу заставить его использовать конфигурацию? Спасибо.
Прикинул фикс, так как это баг с лаком. Остальная часть сообщения представляет собой отредактированную версию этой статьи: http://deshack.net/how-to-varnish-listen-port-80-systemd/
В принципе, /etc/default/varnish
читается только /etc/init.d/varnish script
, а не systemd
сценарий инициализации (/lib/systemd/system/varnish.service
).
Мы можем отменить systemd
скрипт инициализации лака и что-то поменять.
# cp /lib/systemd/system/varnish.service /etc/systemd/system/
# nano /etc/systemd/system/varnish.service
Получаем что-то вроде этого:
[Unit]
Description=Varnish HTTP accelerator
[Service]
Type=forking
LimitNOFILE=131072
LimitMEMLOCK=82000
ExecStartPre=/usr/sbin/varnishd -C -f /etc/varnish/default.vcl
ExecStart=/usr/sbin/varnishd -a :6081 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
ExecReload=/usr/share/varnish/reload-vcl
[Install]
WantedBy=multi-user.target
ExecStart=/usr/sbin/varnishd -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
Затем используйте либо,
# sudo service varnish restart
или
# systemctl reload varnish.service
Убедитесь, что вы использовали правильную строку DAEMON_OPTS. Конфигурация Varnish по умолчанию содержит 4 примера конфигурации DAEMON_OPTS (Альтернатива 1, Минимальная конфигурация; Альтернатива 2, Конфигурация с VCL и т. Д.). Если вы раскомментировали пару из них, будет применена только последняя раскомментированная строка DAEMON_OPTS.
Пример:
## Alternative 2, Configuration with VCL
#
# Listen on port 6081, administration on localhost:6082, and forward to
# one content server selected by the vcl file, based on the request.
# Use a 256MB memory based cache.
#
DAEMON_OPTS="-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl.v4 \
-S /etc/varnish/secret \
-s malloc,256m"