Debian 11 に Varnish Cache をインストールして使用する方法
このページでは
- 要件
- Apache Web サーバーのインストールと構成
- Varnish Server Debian 11 のインストール
- ワニス サーバーの構成
- Apache と連携するように Varnish を構成する
- ワニス キャッシュを確認する
- 結論
Varnish Cache はオープンソースの強力な HTTP アクセラレータであり、340 万を超える Web サイトで使用されています。トラフィックの多い動的な Web サイト用に特別に設計されたリバース キャッシング プロキシとして使用できます。 Web サーバーの前にコンテンツをキャッシュするために使用されます。コンテンツをメモリにキャッシュすることで機能します。ユーザーがキャッシュされたページをリクエストすると、Varnish はバックエンド サーバーから同じページを何度もリクエストする代わりに、キャッシュされたコピーを提供します。多くの VPS ホスティング プロバイダーは、Web サイトのパフォーマンスを向上させるために、テクノロジ スタックの一部として使用しています。
この投稿では、Debian 11 に Apache を使用して Varnish Cache をインストールする方法を示します。
要件
- Debian 11 を実行するサーバー。
- サーバーで root パスワードが構成されている。
Apache Web サーバーのインストールと構成
まず、Apache Web サーバーをサーバーにインストールする必要があります。次のコマンドを実行してインストールできます。
apt install apache2 -y
Apache Web サーバーをインストールしたら、Apache 構成ファイルを編集し、デフォルトのポートを別のものに変更する必要があります。
nano /etc/apache2/ports.conf
次の行を見つけます。
Listen 80
そして、それを次の行に置き換えます。
Listen 8080
完了したら、ファイルを保存して閉じます。
次に、Apache のデフォルトの仮想ホスト構成ファイルを編集し、デフォルトのポートを変更する必要もあります。
nano /etc/apache2/sites-available/000-default.conf
次の行を見つけます。
<VirtualHost *:80>
そして、それを次の行に置き換えます。
<VirtualHost *:8080>
ファイルを保存して閉じ、Apache サービスを再起動して変更を適用します。
systemctl restart apache2
次のコマンドを使用して、Apache リスニング ポートを確認できるようになりました。
ss -antpl | grep apache2
次の出力が表示されます。
LISTEN 0 511 *:8080 *:* users:(("apache2",pid=19315,fd=4),("apache2",pid=19314,fd=4),("apache2",pid=19313,fd=4),("apache2",pid=19312,fd=4),("apache2",pid=19311,fd=4),("apache2",pid=19310,fd=4))
ワニス サーバー Debian 11 をインストールします。
デフォルトでは、Varnish キャッシュの最新バージョンは Debian デフォルト リポジトリでは利用できません。そのため、Varnish リポジトリを APT に追加する必要があります。
まず、次のコマンドを使用して必要な依存関係をインストールします。
apt install debian-archive-keyring curl gnupg apt-transport-https -y
次に、次のコマンドを使用して Varnish GPG キーを追加します。
curl -fsSL https://packagecloud.io/varnishcache/varnish70/gpgkey | gpg --dearmor -o /etc/apt/trusted.gpg.d/varnish.gpg
次に、Varnish ソース ファイルを作成します。
nano /etc/apt/sources.list.d/varnishcache_varnish70.list
次の行を追加します。
deb https://packagecloud.io/varnishcache/varnish70/debian/ bullseye main deb-src https://packagecloud.io/varnishcache/varnish70/debian/ bullseye main
ファイルを保存して閉じ、次のコマンドでリポジトリ キャッシュを更新します。
apt update -y
次に、次のコマンドを使用して Varnish Cache をインストールします。
apt install varnish -y
Varnish Cache がインストールされたら、次のコマンドを使用して Varnish サーバーを起動します。
systemctl restart varnish
次のコマンドを使用して、Varnish のバージョンを確認することもできます。
varnishd -V
次の出力が得られます。
varnishd (varnish-7.0.3 revision 6a4c6a5c7e66a664b140278c209f0b18c544cab8) Copyright (c) 2006 Verdens Gang AS Copyright (c) 2006-2022 Varnish Software
ワニス サーバーの構成
次に、default.vcl ファイルを編集して、バックエンド サーバーを定義する必要があります。
nano /etc/varnish/default.vcl
バックエンド サーバーに従って次の行を変更します。
backend default { .host = "127.0.0.1"; .port = "8080"; }
終了したら、ファイルを保存して閉じます。
Apache と連携するように Varnish を構成する
次に、Varnish 用のカスタム サービス構成ファイルを作成する必要があります。以下のコマンドで作成できます。
mkdir /etc/systemd/system/varnish.service.d
nano /etc/systemd/system/varnish.service.d/customport.conf
次の行を追加します。
[Service] ExecStart= ExecStart=/usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m
ファイルを保存して閉じ、次のコマンドで systemd デーモンをリロードします。
systemctl daemon-reload
次に、次のコマンドで Varnish サービスを再起動します。
systemctl restart varnish
次のコマンドを使用して、Varnish Cache のステータスを確認できるようになりました。
systemctl status varnish
次の出力が得られるはずです。
? varnish.service - Varnish Cache, a high-performance HTTP accelerator Loaded: loaded (/lib/systemd/system/varnish.service; enabled; vendor preset: enabled) Drop-In: /etc/systemd/system/varnish.service.d ??customport.conf Active: active (running) since Fri 2022-12-30 05:31:51 UTC; 9s ago Process: 24637 ExecStart=/usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m (> Main PID: 24638 (varnishd) Tasks: 217 Memory: 132.4M CPU: 535ms CGroup: /system.slice/varnish.service ??24638 /usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m ??24652 /usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m Dec 30 05:31:50 debian11 systemd[1]: Starting Varnish Cache, a high-performance HTTP accelerator... Dec 30 05:31:51 debian11 varnishd[24638]: Version: varnish-7.0.3 revision 6a4c6a5c7e66a664b140278c209f0b18c544cab8 Dec 30 05:31:51 debian11 varnishd[24638]: Platform: Linux,5.10.0-20-amd64,x86_64,-junix,-smalloc,-sdefault,-hcritbit Dec 30 05:31:51 debian11 varnishd[24638]: Child (24652) Started Dec 30 05:31:51 debian11 varnishd[24638]: Child (24652) said Child starts Dec 30 05:31:51 debian11 systemd[1]: Started Varnish Cache, a high-performance HTTP accelerator.
この時点で、Varnish がインストールされ、ポート 80 でリッスンします。次のコマンドで確認できます。
ss -antpl | grep :varnishd
次の出力が得られます。
LISTEN 0 1024 0.0.0.0:80 0.0.0.0:* users:(("cache-main",pid=24652,fd=3),("varnishd",pid=24638,fd=3)) LISTEN 0 1024 127.0.0.1:8443 0.0.0.0:* users:(("cache-main",pid=24652,fd=7),("varnishd",pid=24638,fd=7)) LISTEN 0 10 127.0.0.1:39231 0.0.0.0:* users:(("varnishd",pid=24638,fd=11)) LISTEN 0 10 [::1]:36395 [::]:* users:(("varnishd",pid=24638,fd=10)) LISTEN 0 1024 [::]:80 [::]:* users:(("cache-main",pid=24652,fd=5),("varnishd",pid=24638,fd=5)) LISTEN 0 1024 [::1]:8443 [::]:* users:(("cache-main",pid=24652,fd=6),("varnishd",pid=24638,fd=6))
ワニスキャッシュを確認
この時点で、Varnish キャッシュがインストールされ、実行されています。 CURL コマンドを使用して Varnish キャッシュを確認できるようになりました。
curl -I http://localhost/
次の出力でワニスキャッシュを取得します。
HTTP/1.1 200 OK Date: Fri, 30 Dec 2022 05:33:00 GMT Server: Apache/2.4.54 (Debian) Last-Modified: Fri, 30 Dec 2022 04:42:33 GMT Vary: Accept-Encoding Content-Type: text/html X-Varnish: 2 Age: 0 Via: 1.1 varnish (Varnish/7.0) ETag: W/"29cd-5f1043adffc4c-gzip" Accept-Ranges: bytes Connection: keep-alive
結論
おめでとう! Debian 11 に Apache を使用して Varnish Cache を正常にインストールしました。Varnish Cache をフロントエンド サーバーとして使用して、Web サイトの読み込み時間を短縮できるようになりました。ご不明な点がございましたら、お気軽にお問い合わせください。