DebianとUbuntuにApache用のVarnish Cache 5.2をインストールする


Varnish Cache Varnish とも呼ばれる)は、モダンなデザインのオープンソースの高性能HTTPアクセラレータです。キャッシュをメモリに保存することで、クライアントから要求されたときに同じWebページを繰り返し作成する際にWebサーバーのリソースが無駄に使用されないようにします。

Webサーバーの前で実行するように設定して、ページをはるかに高速に配信し、Webサイトをすばやく読み込むことができます。バックエンドのヘルスチェック、URL書き換え、「デッド」バックエンドの適切な処理による負荷分散をサポートし、 ESI Edge Side Includes )の部分的なサポートを提供します。

Varnish Cacheに関する一連の記事で、CentOS 7システム上でVginish for NginxおよびVarnish for Apache Webサーバーを設定する方法を示しました。

この記事では、Varnish Cache 5.2をDebianおよびUbuntuシステム上のApache HTTPサーバーのフロントエンドとしてインストールおよび設定する方法について説明します。

  1. A Ubuntu system installed with LAMP Stack
  2. A Debian system installed with LAMP Stack
  3. A Debian/Ubuntu system with static IP address

ステップ1:DebianとUbuntuにVarnish Cacheをインストールする

1. 幸いなことに、最新版の Varnish Cache 5 (つまり、執筆時点では 5.2 )用のコンパイル済みパッケージがあります。以下に示すように、あなたのシステムに公式のVarnishリポジトリを追加する必要があります。

$ curl -L https://packagecloud.io/varnishcache/varnish5/gpgkey | sudo apt-key add -

$ sudo apt-get install debian-archive-keyring

2. その後、次のリポジトリ設定を含む /etc/apt/sources.list.d/varnishcache_varnish5.list という名前のファイルを作成します。 ubuntu xenial を必ずLinuxディストリビューションとバージョンに置き換えてください。

deb https://packagecloud.io/varnishcache/varnish5/ubuntu/ xenial main  
deb-src https://packagecloud.io/varnishcache/varnish5/ubuntu/ xenial  main

3. 次に、次のコマンドを使用してソフトウェアパッケージリポジトリを更新し、ニスキャッシュをインストールします。

$ sudo apt update
$ sudo apt install varnish

4. Varnish Cacheをインストールすると、主な設定ファイルが/etc/varnish/ディレクトリにインストールされます。

  • /etc/default/varnish – the varnish environment configuration file.
  • /etc/varnish/default.vcl – main varnish configuration file, it is written using vanish configuration language (VCL).
  • /etc/varnish/secret – varnish secret file.

Varnishのインストールが成功したことを確認するには、次のコマンドを実行してバージョンを確認してください。

$ varnishd -V

ステップ2:Varnish Cacheと連携するようにApacheを設定する

5. Varnish Cacheと連携するようにApacheを設定する必要があります。デフォルトでは、Apacheはポート 80 をリッスンします。Varnishキャッシュの背後で動作させるには、デフォルトのApacheポートを 8080 に変更する必要があります。

Apacheポート設定ファイル /etc/apache2/ports.conf を開き、 listen 80 という行を見つけて、それを listen 8080 に変更します。

または、sedコマンドを実行して、ポート 80 8080 に変更します。

$ sudo sed -i "s/Listen 80/Listen 8080/" /etc/apache2/ports.conf

6. /etc/apache2/sites-available/にある仮想ホストファイルも変更する必要があります。

$ sudo vi /etc/apache2/sites-available/000-default.conf

ポート番号を 8080 に変更します。

<VirtualHost *:8080>
	#virtual host configs here
</VirtualHost>

7. systemd を使用しているシステムでは、/etc/default/var 環境設定ファイルは推奨されておらず、使用されなくなりました。

ファイル /lib/systemd/system/varnish.service /etc/systemd/system/にコピーし、いくつか変更を加える必要があります。

$ sudo cp /lib/systemd/system/varnish.service /etc/systemd/system/
$ sudo vi /etc/systemd/system/varnish.service

サービスディレクティブを変更する必要があります ExecStart 、それはニスデーモンのランタイムオプションを定義します。ニスが接続するポートを定義する -a フラグの値を 6081 から 80 に設定します。

8. ニスサービスユニットファイルへの上記の変更を有効にするには、次のsystemctlコマンドを実行します。

$ sudo systemctl daemon-reload

9. 次に、 /etc/varnish/default.vcl 設定ファイルで、ApacheをVarnishプロキシのバックエンドサーバーとして設定します。

# sudo vi /etc/varnish/default.vcl 

[バックエンド]セクションを使用して、コンテンツサーバーのホストIPとポートを定義できます。以下はlocalhostを使用するデフォルトのバックエンド設定です(実際のコンテンツサーバを指すようにこれを設定してください)。

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

10. 上記の設定をすべて実行したら、次のコマンドを入力してApacheとVarnishデーモンを再起動します。

$ sudo systemctl restart apache
$ sudo systemctl start varnish
$ sudo systemctl enable varnish
$ sudo systemctl status varnish

ステップ3:Apacheでワニスキャッシュをテストする

11. 最後に、下記の cURLコマンドを使用して、Varnishキャッシュが有効になっていてApache HTTPサーバーと連携しているかどうかをテストして、HTTPヘッダーを表示します。

$ curl -I http://localhost

それでおしまい! Varnish Cacheの詳細については、https://github.com/varnishcache/varnish-cacheを参照してください。

このチュートリアルでは、DebianとUbuntuシステムでApache HTTPサーバー用にVarnish Cache 5.2を設定する方法を説明しました。あなたは下からのフィードバックを介して私達と任意の考えや質問を共有することができます。