Кажется, у меня проблема с лаком
. Ничего особенного, но я изо всех сил пытаюсь понять, где я могу ошибиться.
В основном, varnish
настроен для работы на порту 6081
, что и есть; тем не мение. Я пробовал отредактировать конфигурацию / etc / default / varnish
и изменить daemon_opts
на 80
, и даже закомментировал все из файла, но varnish, похоже, все еще работает на 6081
.
Так что либо он не использует конфигурацию / etc / default / varnish
, и получает его настройки в другом месте или / etc / default / varnish
не имеет значения.
Мой вопрос: знает ли кто-нибудь, какой файл конфигурации он может использовать для получения своих настроек, или, возможно, как я могу заставить его использовать конфигурацию? Спасибо.
Исправлена ошибка, так как это ошибка с лаком. Остальная часть заметки является отредактированной версией этой статьи: http://deshack.net/how-to-varnish-listen-port-80-systemd/
В основном, /etc/default/varnish.service
читается только сценарием /etc/init.d/varnish.service
, а не сценарием init systemd
(/lib/systemd/system/varnish.service
).
Мы можем переопределить systemd
init скрипт лака и что-то изменить.
# 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"