ポート80にワニスを置くことができません

okwaves2024-01-25  9

Ubuntu 18.04 に Varnish 5.2.1 をインストールし、チュートリアルに従ってポート 80 に配置しようとしていますが、機能しません。

まず、sudo service varnish stop を使用して Varnish を停止します。

次に、/etc/varnish/default.vcl を編集してターゲット ポートを変更します。

backend default {
    .host = "127.0.0.1";
    .port = "8080";
}

次に、/etc/systemd/system/varnish.service.d/customexec.conf を作成して、Varnish を実行するポートを指定します。

[Service]
ExecStart=
ExecStart=/usr/sbin/varnishd -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m

そして、Varnish を再起動します。

sudo systemctl daemon-reload
sudo service varnish status

しかし、sudo サービス ワニスのステータスを確認すると、次のようになります。

● varnish.service - Varnish HTTP accelerator
   Loaded: loaded (/lib/systemd/system/varnish.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/varnish.service.d
           └─customexec.conf
   Active: inactive (dead) since Thu 2020-09-03 11:55:26 BST; 37s ago
     Docs: https://www.varnish-cache.org/docs/4.1/
           man:varnishd
  Process: 20459 ExecStart=/usr/sbin/varnishd -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256
 Main PID: 20459 (code=exited, status=0/SUCCESS)

Sep 03 11:55:24 me systemd[1]: Started Varnish HTTP accelerator.
Sep 03 11:55:25 me varnishd[20459]: Debug: Platform: Linux,4.15.0-115-generic,x86_64,-junix,-smalloc,-smalloc,-hcritbit
Sep 03 11:55:25 me varnishd[20462]: Platform: Linux,4.15.0-115-generic,x86_64,-junix,-smalloc,-smalloc,-hcritbit
Sep 03 11:55:25 me varnishd[20459]: Debug: Child (20474) Started
Sep 03 11:55:25 me varnishd[20462]: Child (20474) Started
Sep 03 11:55:25 me varnishd[20462]: Child (20474) said Child starts
Sep 03 11:55:25 me varnishd[20462]: Manager got SIGINT
Sep 03 11:55:25 me varnishd[20462]: Stopping Child
Sep 03 11:55:26 me varnishd[20462]: Child (20474) died signal=15
Sep 03 11:55:26 me varnishd[20462]: Child cleanup complete

Varnish は、デフォルトのポート 6081 で実行すると正常に動作しますが、上記の手順を使用してポートを変更すると停止し続けます。 Apache などの他のすべての Web サーバーを停止したため、ポート 80 で既に実行されているものは何もありません。ワニスとの摩擦。

何が問題なのかをデバッグするにはどこから行えばよいのかわかりません。なぜこれが起こるのか知っている人はいますか?



------------------------

解決策を見つけました。

次の行を /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

代わりに次の行を使用します。

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

新しいコマンドは、正常に実行された場合の sudo サービス バーニッシュ ステータスで見つかったものです。

公式ドキュメントの冒頭に -j unix,user=vcache -F の部分が含まれていない理由はわかりませんが、何らかの理由で、これは Varnish を作成するために使用する必要があるコマンドのデフォルトの部分です仕事。

ドキュメントからの意味は次のとおりです。

-j <jail[,jailoptions]>: 使用するジェイル化メカニズムを指定します。 -F: 分岐せず、フォアグラウンドで実行します。

総合生活情報サイト - OKWAVES
総合生活情報サイト - OKWAVES
生活総合情報サイトokwaves(オールアバウト)。その道のプロ(専門家)が、日常生活をより豊かに快適にするノウハウから業界の最新動向、読み物コラムまで、多彩なコンテンツを発信。