私はubuntu 16.04にワニスをインストールしようとしています、
私はいくつかの記事を読みましたが、どれも機能していません。私が読んだことから、ubuntu 15.04以降、ワニスの構成方法が変更されました(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
、すべて正常に動作します... CLIを終了するまで
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
ファイルにあります。他のオンラインリソースを見つけたため、他のオンラインリソースだと思わせてしまいました。オンライン(古い)チュートリアルには注意してください。
Systemdサービス定義のワニス開始パラメーターも変更する必要があります。サービス定義ファイルのExecStart
で始まる行を編集できます:
Sudo vi /lib/systemd/system/varnish.service
ただし、このファイルを変更すると、パッケージの将来の更新で更新されないという欠点があります。あるいは、コメントで提案されているように、 systemd drop in file を作成することもできます。これは、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