Varnish Cache (単にワニスと呼ばれます )は、オープンソースの高性能Web(HTTP)アクセラレータです。キャッシュエージェントとしてWebサーバーの前に配置され、訪問者にはるかに高速な方法でWebページを提供します。
Varnishは、訪問者から要求されたときに頻繁にWebページをロードするために、データ(キャッシュ)を仮想メモリに保存します。バックエンドごとの重み付けとバックエンドの基本的なヘルスチェックによる負荷分散をサポートします。
このガイドでは、VarnishCache5をDebian9上のApacheWebサーバーのフロントエンドとしてインストールおよび構成します。 およびUbuntu16.04 。
要件
Apacheサーバーを備えたDebianまたはUbuntuシステムがあることを確認してください 。 Apache2Webサーバーのインストールに関する以下の記事も読むことができます。
読む :Ubuntu16.04にApache2をインストールする方法
読む :Debian9にApache2をインストールする方法
rootユーザーに切り替えます。
su -
または
sudo su -
Debian/UbuntuにVarnishCacheをインストールする
VarnishはDebianおよびUbuntuパッケージリポジトリで利用できますが、少し古くなっている可能性があります。 Varnish Cacheの最新バージョンを入手するには、公式リポジトリを構成する必要があります。
リポジトリのセットアップ
まず、GPGキーをマシンにインストールします。
curl -L https://packagecloud.io/varnishcache/varnish5/gpgkey | sudo apt-key add -
debian-archive-keyringをインストールします(Debianのみ 。
apt-get install -y debian-archive-keyring
httpsのサポートをインストールします。
apt-get install -y apt-transport-https
Varnishキャッシュリポジトリ情報をソースリストに追加します。
### Debian 9 ### echo "deb https://packagecloud.io/varnishcache/varnish5/debian/ stretch main" | sudo tee -a /etc/apt/sources.list.d/varnishcache5.list ### Ubuntu 16.04 ### echo "deb https://packagecloud.io/varnishcache/varnish5/ubuntu/ xenial main" | sudo tee -a /etc/apt/sources.list.d/varnishcache5.list
VarnishCacheをインストールする
最後に、キャッシュを更新してVarnishをインストールします。
apt-get update apt-get install -y varnish
次のコマンドを使用して、Varnishのバージョンを確認します。
varnishd -V
出力:
varnishd (varnish-5.1.3 revision 05c5ac6b9) Copyright (c) 2006 Verdens Gang AS Copyright (c) 2006-2015 Varnish Software AS
Varnishキャッシュの構成
Varnishキャッシュをインストールすると、サーバーが以前よりも高速にWebリクエストを処理できるように、Varnishの構成に進むことができます。
ポート80でリッスンするようにVarnishを構成します Webリクエストを処理するため。 systemdサービスを編集します。
nano /lib/systemd/system/varnish.service
差出人:
ExecStart=/usr/sbin/varnishd -a :6081 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
宛先:
ExecStart=/usr/sbin/varnishd -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
systemdデーモンをリロードします。
systemctl daemon-reload
次に、Varnishにその背後にあるWebサーバーを通知する必要があります。 /etc/varnish/default.vclを編集します ファイル。
nano /etc/varnish/default.vcl
以下のようにバックエンドサーバーを更新します。 すぐにポート8080でリッスンするようにApacheサーバーを構成します 。 Apacheサーバーのポート番号に変更がある場合は、ここで更新する必要があります。
backend default { .host = "127.0.0.1"; .port = "8080"; }
8080で実行するようにApacheサーバーをセットアップする
すでにポート80でVarnishを構成しているため、Varnishキャッシングの背後で実行できるように、ApacheWebサーバーのデフォルトポートを8080に変更する必要があります。
Ports.confファイルを編集します。
nano /etc/apache2/ports.conf
以下の行を8080で更新します。
Listen 8080
また、デフォルトの構成ファイルを編集します。
nano /etc/apache2/sites-enabled/000-default.conf
以下のように仮想ホストエントリを更新します。
<VirtualHost *:8080>
Apache2とVarnishサービスを再起動します。
systemctl restart apache2 systemctl restart varnish
ApacheでVarnishキャッシュをテストする
curlコマンドを使用して、Varnishキャッシュが有効になっていて、ApacheWebサーバーで機能しているかどうかをテストします。
curl -I http://localhost
出力:
HTTP/1.1 200 OK Date: Thu, 31 Aug 2017 02:14:08 GMT Server: Apache/2.4.25 (Debian) Last-Modified: Thu, 31 Aug 2017 01:53:24 GMT Vary: Accept-Encoding Content-Type: text/html X-Varnish: 2 Age: 0 Via: 1.1 varnish (Varnish/5.1) ETag: W/"29cd-55776180d07a7-gzip" Accept-Ranges: bytes Connection: keep-alive
出力から、VarnishキャッシュがApacheで機能しており、WebリクエストがVarnishキャッシュを流れていることがわかります。
また、以下のコマンドを使用してVarnishキャッシュを確認できます。
varnishstat
出力:
それで全部です。 Varnishキャッシュについて詳しく知りたい場合は、次のWebサイトにアクセスしてください– https://varnish-cache.org/index.html