Varnish Cache (ワニスとも呼ばれます )は、Webサーバーを高速化するために設計されたオープンソースの高性能HTTPアクセラレータです。前回の記事では、CentOS7およびCentOS8でApache用のVarnishCacheをセットアップする方法について説明しました。
この記事では、 VarnishCacheをインストールして使用する方法を紹介します。 CentOS 7のNginxHTTPサーバーのフロントエンドとして 。このガイドは、 RHEL 7でも機能するはずです。 。
要件
- ApacheがインストールされたCentOS7
- 静的IPアドレスを持つCentOS7
ステップ1:CentOS7にNginxWebサーバーをインストールする
1。 Nginx HTTPをインストールすることから始めます 次のようにYUMパッケージマネージャーを使用するデフォルトのCentOSソフトウェアリポジトリからのサーバー。
# yum install nginx

2。 インストールが完了したら、 Nginxを起動します 今のところサービスを提供し、システムの起動時に自動的に開始できるようにします。
# systemctl start nginx # systemctl enable nginx # systemctl status nginx

3。 次に、システムファイアウォールルールを変更して、ポート 80での受信パケットを許可します。 以下のコマンドを使用します。
# firewall-cmd --zone=public --permanent --add-port=80/tcp # firewall-cmd --reload # firewall-cmd --zone=public --permanent --add-port=8080/tcp # firewall-cmd --reload

ステップ2:CentOS7にVarnishCacheをインストールする
4。 現在、最新バージョンの Varnish Cache 6用にコンパイル済みのRPMパッケージがあります。 (つまり、 6.5 執筆時点で)、したがって、公式のVarnishCacheリポジトリを追加する必要があります。
その前に、EPELリポジトリを有効にして、示されているようにいくつかの依存関係パッケージをインストールする必要があります。
# yum install -y epel-release
5。 次に、 pygpgmeをインストールします 、GPG署名とyum-utilsを処理するためのパッケージ、yumのネイティブ機能をさまざまな方法で拡張する便利なユーティリティのコレクション。
# yum install pygpgme yum-utils
6。 次に、 /etc/yum.repos.d/varnishcache_varnish5.repoという名前のファイルを作成します。 以下のリポジトリ構成が含まれています。
# vi /etc/yum.repos.d/varnishcache_varnish65.repo
<強い色:赤;">重要 :必ずel
を置き換えてください および7
以下の構成で、Linuxディストリビューションとバージョンを使用してください:
[varnishcache_varnish65] name=varnishcache_varnish65 baseurl=https://packagecloud.io/varnishcache/varnish65/el/7/$basearch repo_gpgcheck=1 gpgcheck=0 enabled=1 gpgkey=https://packagecloud.io/varnishcache/varnish65/gpgkey sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 [varnishcache_varnish65-source] name=varnishcache_varnish65-source baseurl=https://packagecloud.io/varnishcache/varnish65/el/7/SRPMS repo_gpgcheck=1 gpgcheck=0 enabled=1 gpgkey=https://packagecloud.io/varnishcache/varnish65/gpgkey sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300
7。 次に、以下のコマンドを実行してローカルのyumキャッシュを更新し、varnishキャッシュパッケージをインストールします(y
と入力してGPGキーを受け入れることを忘れないでください またはyes
パッケージのインストール中):
# yum -q makecache -y --disablerepo='*' --enablerepo='varnishcache_varnish65' # yum install varnish

8。 VarnishCacheをインストールした後 、メインの実行可能ファイルは / usr / sbin / varnishdとしてインストールされます ワニス構成ファイルは/etc / varnish /にあります。 :
- /etc/varnish/default.vcl –これはメインのワニス構成ファイルであり、バニッシュ構成言語(VCL)を使用して記述されています。
9。 次に、ワニスサービスを開始し、システムの起動中に自動的に開始できるようにし、そのステータスを確認して、次のように稼働していることを確認します。
# systemctl start varnish # systemctl enable varnish # systemctl status varnish

10。 システムにインストールされているVarnish実行可能ファイルとバージョンの場所を確認することで、Varnishのインストールが成功したことを確認できます。
$ which varnishd $ varnishd -V
サンプル出力
varnishd (varnish-6.5.1 revision 1dae23376bb5ea7a6b8e9e4b9ed95cdc9469fb64) Copyright (c) 2006 Verdens Gang AS Copyright (c) 2006-2020 Varnish Software
ステップ3:VarnishCacheと連携するようにNginxを構成する
11。 このステップでは、VarnishCacheと連携するようにNginxを構成する必要があります。デフォルトでは、Nginxはポート 80でリッスンします 、デフォルトのNginxポートを 8080に変更する必要があります そのため、Varnishキャッシングの背後で実行されます。
Nginx構成ファイル/etc/nginx/nginx.confを開きます 80を聞く行を見つけます 8080を聞くように変更します 下のスクリーンショットに示されているサーバーブロックのように。
# vi /etc/nginx/nginx.conf

注 :これは、すべてのサーバーブロック構成ファイルで実行する必要があります(通常は /etc/nginx/conf.d/ の下に作成されます) )ワニスを介して提供するWebサイトの場合 。
12。 次に、ワニスサービス構成ファイルを開き、パラメーター ExecStartを見つけます。 これは、Varnishがリッスンするポートを指定し、その値を 6081から変更します。 80まで 。
# systemctl edit --full varnish
線は次のようになります。
ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m

13。 次に、 /etc/varnish/default.vcl で、NginxをVarnishプロキシのバックエンドサーバーとして設定します 構成ファイル。
# vi /etc/varnish/default.vcl
バックエンドを見つける セクションを作成し、ホストIPとポートを定義します。以下はデフォルトのバックエンド構成です。これを実際のコンテンツサーバーを指すように設定してください。
backend default { .host = "127.0.0.1"; .port = "8080"; }
14。 必要なすべての構成を実行した後、Nginx HTTPDとVarnishキャッシュを再起動して、上記の変更を有効にします。
# systemctl daemon-reload # systemctl restart nginx # systemctl restart varnish
ステップ4:NginxでVarnishキャッシュをテストする
15。 最後に、Varnishキャッシュが有効になっているかどうかをテストし、以下のcURLコマンドを使用してNginxサービスを操作してHTTPヘッダーを表示します。
# curl -I http://localhost
サンプル出力
HTTP/1.1 200 OK Server: nginx/1.16.1 Date: Wed, 06 Jan 2021 09:24:18 GMT Content-Type: text/html Content-Length: 4833 Last-Modified: Fri, 16 May 2014 15:12:48 GMT ETag: "53762af0-12e1" X-Varnish: 2 Age: 0 Via: 1.1 varnish (Varnish/6.5) Accept-Ranges: bytes Connection: keep-alive
Varnish Cache Githubリポジトリから追加情報を見つけることができます:https://github.com/varnishcache/varnish-cache
このチュートリアルでは、CentOS7でNginxHTTPサーバー用にVarnishCacheをセットアップする方法を説明しました。以下のコメントフォームを使用して、クエリや追加のアイデアを送信してください。