J'essaie d'installer du vernis sur Ubuntu 16.04,
J'ai lu plusieurs articles dont aucun ne fonctionne. D'après ce que j'ai lu, depuis Ubuntu 15.04, la façon de configurer le vernis a changé (à cause de systemd).
Maintenant, j'ai un vrai gâchis qui ne fonctionne pas:
/ etc / default / vernis:
DAEMON_OPTS="-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m"
/etc/varnish/default.vcl (normalement il pointe vers un hôte pointant vers 127.0.0 et le port 8080, mais à des fins de débogage je l'ai modifié en un domaine externe) 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
après un
sudo service varnish stop
sudo service varnish start
Le service de vernis n'écoute pas http://127.0.0.1:80/
, avant un redémarrage, il écoute http://127.0.0.1:6081/
mais ça ne marche plus ... Je ne sais plus quoi faire ...
EDIT: après un redémarrage, rien ne fonctionne,
si je fais :
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
si je sudo:, varnishd -d -f /etc/varnish/default.vcl
alors start
, tout fonctionne bien ... jusqu'à ce que je quitte le cli
résolu grâce à la réponse de @Gerald Schneider. Je poste les étapes que je devais faire:
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
et tout fonctionne bien! la magie est dans le /lib/systemd/system/varnish.service
fichier, d'autres ressources en ligne que j'ai trouvées m'ont fait penser que c'est ailleurs, alors méfiez-vous des tutoriels en ligne (obsolètes)!
Réponses:
Vous devez également modifier les paramètres de démarrage du vernis dans la définition du service systemd. Vous pouvez modifier la ligne commençant par
ExecStart
dans le fichier de définition de service:Cependant, la modification de ce fichier présente l'inconvénient de ne pas être mis à jour dans les futures mises à jour du package. Alternativement, comme suggéré dans les commentaires, vous pouvez créer un fichier de dépôt systemd , qui est le moyen préféré d'ajouter des paramètres aux définitions systemd.
Ici, il vous suffit d'ajouter les paramètres que vous souhaitez modifier, tout le reste sera chargé à partir du fichier de définition par défaut.
Exemple:
Ceci est la ligne par défaut, changez-la selon vos besoins
Ensuite, dites à systemctl de recharger ses fichiers de configuration et de redémarrer le service
Varnish devrait maintenant écouter sur le port 80.
la source
[...] [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 [...]
systemctl edit varnish.service
automatise la création de drop-ins de remplacement de fichiers d'unité pour vousNotez que le drop-in doit avoir un ExecStart vide = Sinon, vous obtiendrez une erreur lors du démarrage du service (ExecStart en double)
Avec
la source