Debian および Ubuntu に Apache 用の Varnish Cache 5.2 をインストールする
Varnish Cache (Varnish とも呼ばれます) は、最新の設計を備えたオープンソースの高性能 HTTP アクセラレータです。キャッシュをメモリに保存することで、クライアントからの要求に応じて同じ Web ページを何度も作成する際に Web サーバーのリソースが無駄にならないようにします。
Web サーバーの前で実行するように構成して、より高速にページを提供できるため、Web サイトの読み込みが速くなります。バックエンドのヘルスチェック、URL 書き換え、「デッド」バックエンドの適切な処理による負荷分散をサポートし、ESI (エッジサイドインクルード) の部分的なサポートも提供します。
CentOS 7 システム上の Apache Web サーバー用の Varnish に関する一連の記事。
この記事では、Debian および Ubuntu システム上の Apache HTTP サーバーのフロントエンドとして Varnish Cache 5.2 をインストールして構成する方法を説明します。
要件:
- LAMP スタックがインストールされた Ubuntu システム
- LAMP スタックがインストールされた Debian システム
- 静的 IP アドレスを持つ Debian/Ubuntu システム
ステップ 1: Debian および Ubuntu に Varnish Cache をインストールする
1. 幸いなことに、最新バージョンの Varnish Cache 5 (つまり、この記事の執筆時点では 5.2) 用にコンパイル済みのパッケージがあるため、以下に示すように、システムに公式の Varnish リポジトリを追加する必要があります。
$ curl -L https://packagecloud.io/varnishcache/varnish5/gpgkey | sudo apt-key add -
重要: Debian を使用している場合は、公式のキーリングを確認するために debian-archive-keyring パッケージをインストールしてください。 Debian リポジトリ。
$ 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 – varnish 環境設定ファイル。
- /etc/varnish/default.vcl – メインのバーニッシュ構成ファイル。バニッシュ構成言語 (VCL) を使用して記述されます。
- /etc/varnish/secret – ワニス シークレット ファイル。
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/varnish 環境設定ファイルは非推奨となり、考慮されなくなりました。
ファイル /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 を変更する必要があります。これは、varnish デーモンの実行時オプションを定義します。ワニスがリッスンするポートを定義する -a
フラグの値を 6081 から 80 に設定します。

8. 上記の変更を varnish サービス ユニット ファイルに反映するには、次の systemctl コマンドを実行します。
$ sudo systemctl daemon-reload
9. 次に、/etc/varnish/default.vcl 構成ファイルで、Apache を Varnish プロキシのバックエンド サーバーとして構成します。
# sudo vi /etc/varnish/default.vcl
バックエンド セクションを使用して、コンテンツ サーバーのホスト IP とポートを定義できます。以下は、ローカルホストを使用するデフォルトのバックエンド構成です (実際のコンテンツ サーバーを指すように設定します)。
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 コマンドを使用して HTTP ヘッダーを表示し、Varnish キャッシュが有効になっていて、Apache HTTP サーバーと連携しているかどうかをテストします。
$ curl -I http://localhost

それでおしまい!ワニス キャッシュの詳細については、https://github.com/varnishcache/varnish-cache を参照してください。
このチュートリアルでは、Debian および Ubuntu システム上の Apache HTTP サーバー用に Varnish Cache 5.2 をセットアップする方法を説明しました。ご意見やご質問がございましたら、以下のフィードバックを通じて私たちと共有してください。