Varnishは、HTTPキャッシングに重点を置いたプロキシサーバーです。 HTTPアクセラレータとして設計されており、WebサーバーApacheまたはNginxのリバースプロキシとして機能できます。ワニスは、ウィキペディア、ガーディアン、ニューヨークタイムズなどの注目度の高いトラフィックの多いウェブサイトで使用されています。
このチュートリアルでは、VarnishHTTPアクセラレータをNginxWebサーバーのリバースプロキシとしてインストールおよび構成する方法を示します。実際のWebサーバーNginxは非標準のHTTPポート8080で実行されます。また、VarnishはHTTPポート80でリバースプロキシとして実行されます。このガイドでは、Ubuntu16.04サーバーを使用します。
- Ubuntu16.04にNginxをインストールする
- ポート8080でNginxを構成する
- Ubuntu16.04にVarnishをインストールする
- VarnishをNginxのリバースプロキシとして構成する
- UFWファイアウォールを設定する
- テスト
- Ubuntu 16.04
- ルート権限
このチュートリアルで実行する必要がある最初のステップは、NginxをシステムUbuntu16.04にインストールすることです。このステップでは、Nginx(公式のUbuntuリポジトリで利用可能)をインストールし、サービスを開始して、システムの起動時に毎回起動できるようにします。
aptコマンドを使用してUbuntuリポジトリからNginxをインストールします。
sudo apt install nginx -y
インストールが完了したら、Nginxを起動し、以下のsystemctlコマンドを使用して、システムの起動時に毎回起動できるようにします。
systemctl start nginx
systemctl enable nginx
Nginx WebサーバーはデフォルトのHTTPポートで実行されています。netstatを使用して確認し、HTTPポートがNginxで使用されていることを確認してください。
netstat -plntu
このステップでは、非標準のHTTPポート8080で実行するようにnginxを構成します。この目的のために、「sites-available」ディレクトリの下の仮想ホストファイルを編集する必要があります。
Nginx構成ディレクトリに移動し、vimを使用して「デフォルト」の仮想ホストファイルを編集します。
cd /etc/nginx/
vim sites-available/default
'listen'行の値を8080に変更します。
listen 8080 default_server;
listen [::]:8080 default_server;
保存して終了します。
次に、Nginx構成をテストし、エラーがないことを確認します。次に、サービスを再起動します。
nginx -t
systemctl restart nginx
次に、netstatを使用してnginxを再度テストし、非標準のHTTPポート8080で実行されていることを確認します。
netstat -plntu
Nginx Webサーバーがインストールされ、ポート8080で実行されています。
次に、Varnishをシステムにインストールする必要があります。ツールの最新バージョンをソースからインストールできます。このガイドでは、UbuntuリポジトリからVarnishをインストールします-Varnishv4。
以下のaptコマンドを使用してニスをインストールします。
sudo apt install varnish -y
次に、ワニスを起動し、以下のsystemctlコマンドを使用して、システムの起動時にワニスを起動できるようにします。
systemctl start varnish
systemctl enable varnish
デフォルトでは、ワニスはパブリックアクセスにポート6081を使用し、ワニス管理Webインターフェイスにポート6082を使用します。 netstatコマンドを使用して確認し、それらのポートがリストに含まれていることを確認してください。
netstat -plntu
VarnishHTTPAcceleratorがインストールされました。
このチュートリアルでは、NginxWebサーバーのリバースプロキシとしてVarnishを使用します。 VarnishはHTTPポート80で実行され、Nginx WebサーバーはHTTPポート8080で実行されます(完了です)。
このステップでは、Nginx用にVarnishを構成し、バックエンドサーバーを定義してから、HTTPポート80で実行するようにvarnishを変更します。
次に、ワニス構成ディレクトリに移動し、「default.vcl」ファイルを編集します。
cd /etc/varnish
vim default.vcl
バックエンドラインで、以下のように構成を定義します。
backend default {
.host = "127.0.0.1";
.port = "8080";
}
保存して終了します。
注:
- .host =バックエンドWebサーバーアドレス。
- .port =バックアップされたWebサーバーが実行されています。
バックエンドの構成が完了しました。
次に、HTTPポート80で実行するようにVarnishを構成する必要があります。「/ etc / default」ディレクトリに移動し、ワニス構成ファイル「varnish」を編集します。
cd /etc/default/
vim varnish
'DAEMON_OPTS'行で、デフォルトのポート6081をHTTPポート80に変更します。
DAEMON_OPTS="-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m"
保存して終了します。
次に、「/ lib / systemd/system」ディレクトリにあるニスサービスファイルを編集します。 systemdシステムディレクトリに移動し、varnish.serviceファイルを編集します。
cd /lib/systemd/system
vim varnish.service
'ExecStart'行で、ワニスポート6081をHTTPポート80に変更します。
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
保存して終了します。
systemd構成をリロードし、ニスを再起動します。
systemctl daemon-reload
systemctl restart varnish
構成が完了したら、以下のnetstatコマンドを使用してVarnishを確認します。
netstat -plntu
以下に示すように、VarnishがHTTPポート80で実行されていることを確認してください。
Nginxのリバースプロキシとしてのワニスの構成が完了しました。
Ubuntuシステムには、「UFW」という名前のデフォルトの人間が読めるファイアウォールが付属しています。パッケージがない場合は、以下のaptコマンドを使用してインストールしてください。
sudo apt install ufw
このステップでは、ファイアウォールをアクティブにして、SSH、HTTP、およびHTTPS用の新しいポートを開きます。
以下のufwコマンドを実行します。
ufw allow ssh
ufw allow http
ufw allow https
次に、ファイアウォールをアクティブにして、起動時に毎回起動できるようにします。
ufw enable
「y」と入力し、Enterキーを押して確認します。
UFWファイアウォールがアクティブになり、HTTPおよびHTTPSポートに外部ネットワークからアクセスできるようになりました。
-cURLを使用したテスト
curlコマンドを使用してワニスをテストし、サーバーからのHTTPヘッダーを確認できるようにします。
curl -I hakase-labs.co
そして、以下に示すように、HTTPヘッダーの結果「Via:1.1varnish-v4」が表示されます。
-Webブラウザを使用したテスト
Webブラウザーを開き、次のサーバーのURLまたはアドレスを入力します。私のは: http://hakase-labs.co
以下のようにNginxのデフォルトページを取得してください。
-ワニスログのテスト
Varnishは、ログを管理および表示するためのいくつかのコマンドを提供します。ワニスアクセスログを取得するために「varnishncsa」を使用します。
varnishncsa
そして、以下のような結果が得られます。
NginxWebサーバーのリバースプロキシとしてのワニスのインストールと構成が完了しました。