2017-09-16 6 views
0

のUbuntu 16.04.2チュートリアル:コンパイルが

ワニス-4.1.1

を失敗した私がここに立ち往生: https://varnish-cache.org/docs/4.1/tutorial/starting_varnish.html

一冊の本で構成の非常に最初の変更を。それは言った:www.varnish-cache.orgにホストを変更し、リロードする。

/etc/varnish/default.vcl

vcl 4.0; 

backend default { 
    .host = "www.varnish-cache.org"; 
    .port = "80"; 
} 

私が実行:

sudo service varnish restart 

sudo service varnish reload 

をしかし、いずれにせよ、私は常に "エラー503バックエンドに失敗しましたフェッチ" があります。

私が試してみました:

$ sudo varnishd -d -f default.vcl 
Error: 
Failed to create vcl_boot/vgc.so: Permission deniedVCL compilation failed 

コンパイルが失敗しているようです。ここでお手伝いできますか?

答えて

0

それはいくつかの理由のため、多少壊れたチュートリアルです:

  • 彼らは、DNS名にバックエンドを指すようにお願いします。適切な方法は、バックエンドの定義にIPを指定することです
  • あなたが指定したもの(DNSまたはIP)は、ワニスにアクセスするサイトのホストヘッダーを渡し、バックエンドサーバーにそのホスト名のサイトを渡すように要求します。

    • あなたのアクセス、例えば:

    、なぜあなたは、チュートリアルごとなどのエラーを取得していますhttp://localhost/(またはあなたのワニスにアクセスするホスト名)

  • 次に、Varnishはvarnish-cache.orgのHTTPサーバーと話し合い、http://localhostを求めます。
  • 明らかに、varnish-cache.orgサーバは、その設定が(リダイレクト/エラー/などを発行する)ため、あなたが見ているエラーをほとんど知らないでしょう。

ではなく、独自のWebサーバーを指すようにし、このようにそれを行うのがベストです:

vcl 4.0; 

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

を上記のあなたがでウェブサーバ(nginxのまたはApacheなど)を実行することを前提としていVarnishと同じマシンで、ポート8080で稼働させました。

+0

https://varnish-cache.org/docs/4.1/reference/vcl.html#backend-definitionホスト名は受け入れられそうです。 – Michael

+0

私はそれが容認できるかどうか議論していない。バックエンドへのリクエストが同じ値のHostヘッダーを渡すという不必要な混乱/期待を避けるので、IPを使用することが「ベストプラクティス」です。 –

+0

これは問題ではないようです。そして私は今までのベストプラクティスを勉強していません。 – Michael

関連する問題