Varnishは、HTTPキャッシングに重点を置いたプロキシサーバーです。 HTTPアクセラレータとして設計されており、WebサーバーApacheまたはNginxのリバースプロキシとして機能できます。ワニスは、ウィキペディア、ガーディアン、ニューヨークタイムズなどの注目度の高いトラフィックの多いウェブサイトで使用されています。
このチュートリアルでは、VarnishHTTPアクセラレータをApacheWebサーバーのリバースプロキシとしてインストールおよび構成する方法を示します。実際のWebサーバーApacheは、非標準のHTTPポート(ポート8080で実行)で実行されます。また、VarnishはHTTPポート80でリバースプロキシとして実行されます。このガイドでは、CentOS7サーバーを使用します。
- CentOS7にApacheをインストールする
- ポート8080でApacheを構成する
- CentOS7にVarnishをインストールする
- VarnishをApacheのリバースプロキシとして構成する
- Firewallを設定する
- テスト
- CentOS7サーバー
- root権限
CentOS7リポジトリからApache/httpd Webサーバーをインストールしてから、ポート8080で実行されるサーバーを構成します。
以下のyumコマンドを使用してApache/httpdをインストールします。
yum -y install httpd
インストールが完了したら、httpdサービスを開始し、以下のコマンドを使用してシステムの起動時に実行できるようにします。
systemctl start httpd
systemctl enable httpd
これで、httpdサービスが実行されます。以下に示すように、netstatまたはcurlコマンドを使用して確認してください。
netstat -plntu
curl -I localhost
これで、Apache /httpdWebサーバーがインストールされました。
このステップでは、ポート8080で実行するようにApache / httpd Webサーバーを構成します。この目的のために、最初に構成ファイル「httpd.conf」を編集する必要があります。
Apache構成ディレクトリに移動し、httpd.confファイルを編集します。
cd /etc/httpd/
vim conf/httpd.conf
'Listen'行のデフォルトポート80を8080に変更します。
Listen 8080
保存して終了します。
次に、構成をテストし、エラーがないことを確認します。次に、apache/httpdサービスを再起動します。
apachectl configtest
systemctl restart httpd
次に、netstatを使用して再度確認し、Webサーバーがポート8080で実行されていることを確認します。
netstat -plntu
このステップでは、Varnish高性能HTTPアクセラレーターをインストールします。 EPEL(Enterprise Linux用の追加パッケージ)リポジトリで利用できるため、Varnishをインストールする前にリポジトリをインストールする必要があります。
次のコマンドを使用してEPELリポジトリをインストールします。
yum -y install epel-release
次に、以下のyumコマンドを使用してEPELリポジトリからVarnishをインストールします。
yum -y install varnish
インストールが完了したら、Varnishを起動し、以下のsystemctlコマンドを使用してシステム起動時に起動するように追加します。
systemctl start varnish
systemctl enable varnish
デフォルトでは、Varnishはポート6081と6082を使用します。以下のnetstatコマンドを使用して確認してください。
netstat -plntu
そして、以下のようにデフォルトのワニスポートを取得していることを確認してください。
これでVarnishがインストールされ、ApacheWebサーバーのリバースプロキシとして構成します。ワニスはデフォルトでHTTPポート80で実行されます。
Varnish構成ディレクトリに移動し、「default.vcl」のデフォルト構成を編集します。
cd /etc/varnish
vim default.vcl
デフォルトのバックエンドセクションを定義します。ポート8080で実行されているApacheWebサーバーを使用しているため、以下のように構成します。
backend default {
.host = "127.0.0.1";
.port = "8080";
}
保存して終了します。
次に、HTTPポート80で実行するようにVarnishを構成します。Varnish構成ディレクトリにある「varnish.params」ファイルを編集します。
vim varnish.params
このファイルで、「VARNISH_LISTEN_PORT」行の値をHTTPポート80に変更します。
VARNISH_LISTEN_PORT=80
保存して終了します。
次に、Varnishを再起動し、netstatコマンドを使用して統計を確認します。
systemctl restart varnish
netstat -plntu
以下に示すような結果が得られることを確認してください。
Varnish HTTP Acceleratorがインストールされ、ApacheWebサーバーのリバースプロキシとして機能するようになりました。
このステップでは、Firewalldをインストールし、新しいHTTPポートとHTTPSポートを開きます。
次のyumコマンドを使用してFirewalldをインストールします。
yum -y install firewalld
次に、サービスを開始し、システムの起動時に自動的に実行できるようにします。
systemctl start firewalld
systemctl enable firewalld
次に、次に示すように、firewalld-cmdコマンドを使用してHTTPおよびHTTPSリクエストの新しいポートを開きます。
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
ファイアウォール構成をリロードします。
それでおしまい。ファイアウォール設定が完了しました。
ワニスをテストするには、最初に次のcurlコマンドを実行します。
curl -I hakase-labs.co
また、出力では、次のスクリーンショットに示すようなHTTPヘッダーを取得していることを確認してください。
次に、ブラウザからワニスをテストします。これを行うには、Webブラウザーを開き、サーバーのURLまたはアドレスを入力します。
http://hakase-labs.co
以下のように機能することを確認してください。
注: '403' Forbiddenを取得した場合は、'/ var / www/html'ディレクトリに'index.html'ファイルを作成する必要があります。
cd /var/www/html/
echo '<h1><center> Varnish- Apache - hakase-labs</center></h1>' > index.html
次に、以下のコマンドを使用してニスログをテストします。
varnishncsa
そして、ニスのアクセスログを取得します。
それでおしまい。 Varnish HTTPアクセラレータがインストールされ、ApacheWebサーバーのリバースプロキシとして実行されています。
- https://varnish-cache.org/