Varnish Cache (一般にワニスと呼ばれます )は、オープンソースで強力かつ高速なリバースプロキシ HTTP 最新のアーキテクチャと柔軟な構成言語を備えたアクセラレータ。リバースプロキシであるということは、 Nginx などのWebサーバー(オリジンサーバーまたはバックエンド)の前にデプロイできるソフトウェアであることを意味します。 、クライアントのHTTPリクエストを受信し、処理のためにオリジンサーバーに転送します。また、オリジンサーバーからクライアントに応答を配信します。
ニス Nginx間の仲介役として機能します およびクライアント ただし、パフォーマンス上の利点がいくつかあります。その主な目的は、キャッシングエンジンとして機能することにより、アプリケーションのロードを高速化することです。クライアントからリクエストを受信し、それらをバックエンドに1回転送して、リクエストされたコンテンツをキャッシュします(ファイルとファイルのフラグメントをメモリに保存します)。その後、まったく同様のコンテンツに対する今後のすべてのリクエストがキャッシュから提供されます。
これにより、Webアプリケーションの読み込みが速くなり、ワニスにより、Webサーバーの全体的なパフォーマンスが間接的に向上します。 Nginxがストレージディスクのファイルを処理する代わりに、メモリのコンテンツを提供します。
キャッシングとは別に、ニス HTTPリクエストルーター、ロードバランサー、ウェブアプリケーションファイアウォールなど、他にもいくつかのユースケースがあります。
ニス 高度に拡張可能な組み込みのワニス構成言語を使用して構成されます ( VCL )これにより、着信要求の処理方法に関するポリシーを記述できます。これを使用して、カスタマイズされたソリューション、ルール、およびモジュールを構築できます。
この記事では、 Nginxをインストールする手順を説明します WebサーバーとVarnishCache 6 新鮮なCentOS8 またはRHEL8 サーバ。 RHEL 8 ユーザーは、redhatサブスクリプションが有効になっていることを確認する必要があります。
設定するには、完全な LEMP Nginxをインストールする代わりにスタック Webサーバーだけの場合は、次のガイドを確認してください。
- CentOS8にLEMPサーバーをインストールする方法
- RHEL8にLEMPサーバーをインストールする方法
ステップ1:CentOS /RHEL8にNginxWebサーバーをインストールする
1。 CentOS / RHEL 8 最新バージョンのNginxが付属しています Webサーバーソフトウェアなので、次のdnfコマンドを使用してデフォルトのリポジトリからインストールします。
# dnf update # dnf install nginx
2。 一度Nginx インストールされている場合は、次のsystemctlコマンドを使用して、ステータスを開始、有効化、および確認する必要があります。
# systemctl start nginx # systemctl enable nginx # systemctl status nginx
Nginxサービスステータスの確認
3。 少し興味がある場合は、次のssコマンドを使用して、デフォルトでポート80で実行されるNginxTCPソケットを確認することもできます。
# ss -tpln
NginxTCPポートを確認してください
4。 システムでファイアウォールを実行している場合は、ファイアウォールルールを更新して、Webサーバーへのリクエストを許可してください。
# firewall-cmd --zone=public --permanent --add-service=http # firewall-cmd --reload
ステップ2:VarnishCache6をCentOS/RHEL8にインストールする
5。 CentOS / RHEL 8 Varnish Cache DNFを提供します デフォルトでバージョン6.0を含むモジュール LTS (長期サポート 。
モジュールをインストールするには、次のコマンドを実行します。
# dnf module install varnish
CentOS8にVarnishCacheをインストールする
6。 モジュールのインストールが完了すると、ワニスのバージョンを確認できます。 システムにインストールされています。
# varnishd -V
ワニスのバージョンを確認する
7。 VarnishCacheをインストールした後 、 / usr / sbin / varnishdの下にインストールされているメインの実行可能コマンド ワニス構成ファイルは/etc / varnish /にあります。 。
ファイル/etc/varnish/default.vcl VCLを使用して記述されたメインのニス構成ファイルです。 および/etc / varnish / secret ニスの秘密ファイルです。
8。 次に、ニスを開始します サービス、システムの起動中に自動起動できるようにし、稼働していることを確認します。
# systemctl start varnish # systemctl enable varnish # systemctl status varnish
CentOS8でVarnishキャッシュを確認する
ステップ3:VarnishCacheと連携するようにNginxを構成する
9。 このセクションでは、 Varnish Cacheを構成する方法を示します。 Nginxの前で実行する 。デフォルトでは、Nginxはポート 80でリッスンします 、通常、すべてのサーバーブロック(または仮想ホスト)は、このポートでリッスンするように構成されています。
たとえば、メイン構成ファイル( /etc/nginx/nginx.conf )で構成されているデフォルトのnginxサーバーブロックを見てください。 。
# vi /etc/nginx/nginx.conf
次のスクリーンショットに示すように、サーバーブロックセクションを探します。
Nginxサーバーブロック構成
10。 ニスを実行するには Nginxの前 、デフォルトのNginxポートを 80から変更する必要があります 8080へ (または他の任意のポート)。
これは、将来のすべてのサーバーブロック構成ファイル(通常は /etc/nginx/conf.d/ の下に作成されます)で実行する必要があります )ワニスを介して提供するサイトまたはWebアプリケーションの場合 。
たとえば、テストサイトtecmint.lan
のサーバーブロック は/etc/nginx/conf.d/tecmint.lan.conf 次の構成になっています。
server { listen 8080; server_name www.tecmint.lan; root /var/www/html/tecmint.lan/; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
Nginxサーバーブロック構成
<強い色:赤;">重要 : /etc/nginx/nginx.conf の構成セクションをコメントアウトして、デフォルトのサーバーブロックを無効にすることを忘れないでください 次のスクリーンショットに示すようにファイル。これにより、サーバー上で他のWebサイト/アプリケーションの実行を開始できます。そうしないと、Nginxは常にデフォルトのサーバーブロックにリクエストを送信します。
Nginxサーバーブロックを無効にする
11。 構成が完了したら、構成ファイルにエラーがないか確認し、Nginxサービスを再起動して最近の変更を適用します。
# nginx -t # systemctl restart nginx
Nginx構成構文を確認してください
12。 次に、 HTTPを受信します クライアントからのリクエストには、ワニスを設定する必要があります ポート80で実行する 。以前のバージョンのVarnishCache とは異なり、 この変更がワニスで行われた場所 バージョン6.0の環境ファイル(現在は非推奨) 以上。
ワニスサービスファイルに必要な変更を加える必要があります。次のコマンドを実行して、編集用の適切なサービスファイルを開きます。
# systemctl edit --full varnish
次の行を見つけて、-a
の値を変更します リッスンアドレスとポートを指定するスイッチ。ポートを80に設定します 次のスクリーンショットに示すように。
住所を指定しない場合は、ニスを塗ったことに注意してください。 利用可能なすべてのIPv4をリッスンします およびIPv6 サーバー上でアクティブなインターフェース。
ExecStart=/usr/sbin/varnishd -a :6081 -f /etc/varnish/default.vcl -s malloc,256m
ワニスリッスンポートの変更
変更をファイルに保存して終了します。
13。 次に、ワニスするバックエンドサーバーを定義する必要があります からコンテンツを取得するためにアクセスします。これは、Varnishのメイン構成ファイルで行われます。
# vi /etc/varnish/default.vcl
デフォルトのバックエンド構成セクションを探し、文字列「デフォルト」を変更します 」からserver1 (またはオリジンサーバーを表すために選択した任意の名前)。次に、ポートを 8080に設定します (またはサーバーブロックで定義したNginxリッスンポート)。
backend server1 { .host = "127.0.0.1"; .port = "8080"; }
デフォルトのワニスバックエンドサーバーを設定する
このガイドでは、ワニスを実行しています およびNginx 同じサーバー上。 NginxWebサーバーが別のホストで実行されている場合。たとえば、アドレスが 10.42.0.247の別のサーバー 、次に.host
を設定します 示されているパラメータ。
backend server1 { .host = "10.42.0.247"; .port = "8080"; }
ファイルを保存して閉じます。
14。 次に、 systemdをリロードする必要があります Varnishサービスファイルが最近変更されたためにマネージャを構成してから、Varnishサービスを再起動して次のように変更を適用します。
# systemctl daemon-reload # systemctl restart varnish
15。 次に、 Nginxを確認します およびニス 構成されたTCPをリッスンしています ソケット。
# ss -tpln
Nginxポートとワニスポートを確認する
ステップ4:NginxVarnishキャッシュセットアップのテスト
16。 次に、Webページが Varnish Cacheを介して提供されていることを確認します 次のように。次のスクリーンショットに示すように、Webブラウザーを開き、サーバーIPまたはFDQNを使用してナビゲートします。
http://www.tecmin.lan OR http://10.42.0.144
Varnishキャッシュを介して提供されるNginxページを確認する
17。 または、図のようにcurlコマンドを使用します。サーバーのIPアドレスまたはWebサイトのFQDNを使用するか、ローカルでテストする場合は127.0.0.1またはlocalhostを使用します。
# curl -I http:///www.tecmint.lan
Curlを使用してNginxVarnishキャッシュページを確認する
便利なVarnishキャッシュ管理ユーティリティ
18。 この最後のセクションでは、 Varnish Cacheを使用する便利なユーティリティプログラムのいくつかについて簡単に説明します。 に付属しており、ニスを塗ったを制御するために使用できます 、メモリ内のログや全体的な統計などにアクセスします。
varnishadm
varnishadm 実行中のVarnishインスタンスを制御するユーティリティ。 varnishdへのCLI接続を確立します。たとえば、次のスクリーンショットに示すように、これを使用して構成済みのバックエンドを一覧表示できます( man varnishadm を参照)。 詳細については)
# varnishadm varnish> backend.list
構成済みバックエンドのリスト
varnishlog
ワニスログ ユーティリティは、リクエスト固有のデータへのアクセスを提供します。特定のクライアントとリクエストに関する情報を提供します( man varnishlogをお読みください 詳細については)
# varnishlog
クライアントとリクエストに関する情報を確認する
varnishstat
varnishstat ニス統計とも呼ばれます 、キャッシュのヒットとミス、ストレージに関する情報、作成されたスレッド、削除されたオブジェクトなどのメモリ内統計へのアクセスを提供することで、Varnishの現在のパフォーマンスを一目で確認できます( man varnishstat を参照)。 詳細については)
# varnishstat
ワニスの統計を表示する
varnishtop
ワニストップ ユーティリティは共有メモリログを読み取り、最も一般的に発生するログエントリの継続的に更新されるリストを表示します( man varnishtop を参照) 詳細については)
# varnishtop
共有メモリログを表示する
varnishhist
ワニス人 (ニスの歴史 )ユーティリティはワニスログを解析し、最後の nの分布を示す継続的に更新されるヒストグラムを出力します 処理によるリクエスト( man varnishhistを読む 詳細については)
# varnishhist
リクエストのヒストグラムを表示
それで全部です!このガイドでは、 Varnish Cacheをインストールする方法を示しました。 Nginx HTTPの前で実行します CentOS / RHEL 8でのWebコンテンツ配信を高速化するサーバー 。
このガイドに関するご意見やご質問は、以下のフィードバックフォームを使用して共有できます。詳細については、VarnishCache6.0のドキュメントを参照してください。
Varnish Cacheの主な欠点 HTTPSのネイティブサポートがないことです 。 HTTPSを有効にするには Webサイト/アプリケーションで、 Varnish Cacheと連携して機能するようにSSL/TLSターミネーションプロキシを構成する必要があります あなたのサイトを保護するために。次の記事では、 CentOS / RHEL 8でHitchを使用してVarnishCacheのHTTPSを有効にする方法を示します。 。
共有は思いやりがあります…Facebookで共有するTwitterで共有するLinkedinで共有するRedditで共有する