Пытаюсь установить лак на ubuntu 16.04,
Я прочитал несколько статей, ни одна из них не работает. Из того, что я читал, начиная с ubuntu 15.04, способ настройки varnish изменился (из-за systemd).
Теперь у меня настоящий беспорядок, который не работает:
/ etc / default / varnish:
DAEMON_OPTS="-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m"
/etc/varnish/default.vcl (обычно он указывает на хост, указывающий на 127.0.0 и порт 8080, но для целей отладки я изменил его на внешний домен) vcl 4.0;
# Default backend definition. Set this to point to your content server.
backend default {
.host = "www.varnish-cache.org";
.port = "80";
}
/etc/apache2/ports.conf
Listen 8080
grep -R 'ExecStart=/usr/sbin/varnishd' /etc/
/etc/systemd/system/varnish.service:ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
/etc/systemd/system/varnish.service.d/customexec.conf:ExecStart=/usr/sbin/varnishd -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
/etc/systemd/system/multi-user.target.wants/varnish.service:ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
/lib/systemd/system/varnish.service:
GNU nano 2.5.3 Fichier : /lib/systemd/system/varnish.service
[Unit]
Description=Varnish HTTP accelerator
Documentation=https://www.varnish-cache.org/docs/4.1/ man:varnishd
[Service]
Type=simple
LimitNOFILE=131072
LimitMEMLOCK=82000
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
ExecReload=/usr/share/varnish/reload-vcl
ProtectSystem=full
ProtectHome=true
PrivateTmp=true
PrivateDevices=true
[Install]
WantedBy=multi-user.target
service --status-all | grep varnish
[ - ] varnish
[ + ] varnishlog
[ + ] varnishncsa
после
sudo service varnish stop
sudo service varnish start
Лаковая служба не слушает http://127.0.0.1:80/
, перед перезагрузкой слушает http://127.0.0.1:6081/
но больше не работает ... не знаю, что еще делать ...
если я сделаю : systemctl status varnish
● varnish.service - Varnish HTTP accelerator
Loaded: loaded (/etc/systemd/system/varnish.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/varnish.service.d
└─customexec.conf
Active: inactive (dead) since jeu. 2017-01-05 14:48:09 CET; 1s ago
Docs: https://www.varnish-cache.org/docs/4.1/
man:varnishd
Process: 5077 ExecStart=/usr/sbin/varnishd -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m (code=exited, status=0/SUCCESS)
Main PID: 5077 (code=exited, status=0/SUCCESS)
janv. 05 14:48:09 xubuntu-16 systemd[1]: Started Varnish HTTP accelerator.
service --status-all | grep varnish
[ - ] varnish
[ - ] varnishlog
[ - ] varnishncsa
если я sudo: varnishd -d -f /etc/varnish/default.vcl
, затем start
, все работает нормально ... пока не выйду из кли
sudo apt remove varnish
sudo apt-get purge varnish
# I manually remove the 3 files in created in /etc/systemd/system/*
sudo apt install varnish
sudo nano /lib/systemd/system/varnish.service # put the rigth conf
sudo nano /etc/varnish/default.vcl #put the rigth conf
sudo systemctl daemon-reload
sudo service varnish restart
и все отлично работает! магия в /lib/systemd/system/varnish.service
файла, другие онлайн-ресурсы, которые я нашел, заставили меня подумать, что он находится в другом месте, так что остерегайтесь онлайн-(устаревших) руководств!
Вам также необходимо изменить параметры запуска varnish в определении службы systemd. Вы можете редактировать строку, начинающуюся с ExecStart
в файле определения службы:
sudo vi /lib/systemd/system/varnish.service
Однако изменение этого файла имеет тот недостаток, что он не будет обновляться в будущих обновлениях пакета. В качестве альтернативы, как предлагается в комментариях, вы можете создать systemd падение в файл, который является предпочтительным способом добавления настроек в определения systemd.
# create the drop in directory
sudo mkdir /etc/systemd/system/varnish.service.d
# create the drop in file. The name is irrelevant, as long as it ends in .conf
sudo vi /etc/systemd/system/varnish.service.d/mysettings.conf
Здесь вам нужно только добавить настройки, которые вы хотите изменить, все остальное будет загружено из файла определения по умолчанию.
Пример:
[Service]
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
Это строка по умолчанию, измените ее по своему усмотрению.
После этого скажите systemctl перезагрузить его файлы конфигурации и перезапустить службу.
sudo systemctl daemon-reload
sudo service varnish restart
Varnish должен теперь прослушивать порт 80.
Обратите внимание, что в дроп-ине должен быть пустой ExecStart = В противном случае вы получите сообщение об ошибке при запуске службы (дубликат ExecStart)
sudo mkdir /etc/systemd/system/varnish.service.d
sudo nano /etc/systemd/system/varnish.service.d/varnishd.conf
С участием
[Service]
ExecStart=
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T <YOUR WEBSERVER IP>:8081 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m