Ubuntu18.04でVarnish HTTP cacheを使用してApacheを高速化する方法Lts

VarnishはHTTPキャッシュに焦点を当てたプロキシサーバーです。 これはHTTPアクセラレータとして設計されており、webサーバー(ApacheまたはNginx)のリバースプロキシとして機能します。 ワニスは、ウィキペディア、ガーディアン、ニューヨーク-タイムズなど、知名度の高いトラフィックの多いウェブサイトに使用されています。このチュートリアルでは、Varnish HTTP acceleratorをapache webサーバーのリバースプロキシとしてインストールおよび設定する方法を説明します。 実際のwebサーバー Apacheは、非標準のHTTPポート(ポート8080で実行)で実行されます。 そして、Varnishはhttpポート80でリバースプロキシとして実行されます。 このガイドでは、Ubuntu18.04ltsサーバーを使用します。

私たちは何をしますか

  1. Apache Webサーバーをインストール
  2. Apacheのデフォルトポートを変更
  3. Varnishをインストール
  4. Varnishを設定
  5. セットアップをテスト

前提条件

  • >18Lts
  • Root権限

ステップ1-Apache Webサーバーのインストール

起動するには、Apache webサーバーをインストールします。 デフォルトでは、Ubuntuリポジトリで利用できます。

Ubuntuリポジトリを更新し、aptコマンドを使用してApacheをインストールします。

apt update
apt install -y apache2

インストールが完了したら、Apacheサービスを起動し、次のsystemctlコマンドを使用してシステム起動時に自動的に実行できるようにします。

systemctl start apache2
systemctl enable apache2

Apache webサーバーがインストールされました。

次に、全員がwebサーバーにアクセスできるようにするには、ファイアウォールルールでHTTPとHTTPSを許可する必要があります。 デフォルトでは、Ubuntuにはufwという名前のファイアウォールパッケージが付属しています。

次のUFWコマンドを使用して、新しいSSH、HTTP、およびHTTPSポートを開きます。

ufw allow ssh
ufw allow http
ufw allow https

ファイアウォールサービスを起動し、システム起動時に自動的に起動できるようにします。

ufw enable

‘y’と入力し、Enterキーを押して確定します。

HTTP、HTTPS、およびSSH用の新しいポートが開かれ、ネットワークの外部からアクセスできます。

Apache webサーバーをテストする場合は、netstatコマンドを使用して、apacheがポート80で実行されていることを確認できます。

netstat -plntu

または、次のcurlコマンドを使用できます。

curl -I hakase-labs.co

以下のような結果が得られるはずです。

ステップ2-Apacheのデフォルトポートを変更する

このチュートリアルでは、バックエンドサーバーとしてApacheを使用し、標準のHTTPポート80では実行されません。 Apache webサーバーはバックエンドとしてポート8080で実行され、標準のHTTPポート80は’Varnish’によって使用されます。

デフォルトのapacheポートを変更するには、apache設定のポートを編集する必要があります。conf’と’sites-available’ディレクトリの下にあるすべての仮想ホスト設定。

Apache設定ディレクトリに移動します。

cd /etc/apache2

Apache設定’ポート’でポート’80’を’8080’に置き換えます。conf’と’sites-available’ディレクトリの下にあるすべての仮想ホストファイル。 これを行うには、次のsedコマンドを実行します。

sed -i -e 's/80/8080/g' ports.conf
sed -i -e 's/80/8080/g' sites-available/*

次に、Apacheの設定をテストし、エラーがないことを確認してから、Apacheサービスを再起動します。

apachectl configtest
systemctl restart apache2

これでApacheはHTTPポート’8080’で実行されていますが、以下に示すように’netstat’コマンドを使用して確認してください。

netstat -plntu

以下のような結果が得られていることを確認してください。

したがって、Apache webサーバーがポート’8080’で実行されていることがわかります。

ステップ3-Varnish HTTP Acceleratorのインストール

このステップでは、UbuntuリポジトリからVarnishをインストールします。 このガイドでは、Varnish5.2を使用します。

次のaptコマンドを使用してvarnishをインストールします。

apt install -y varnish

インストールが完了したら、Varnishを起動し、システム起動時に自動的に起動できるようにします。

systemctl start varnish
systemctl enable varnish

VarnishはUbuntu18.04システムにインストールされています。

デフォルトでは、パブリックアドレスのポート’6081’とlocalhostアドレスのポート’6082’の下で実行されています。 以下のnetstatコマンドを使用して確認してください。

netstat -plntu

そして、あなたはデフォルトのワニスポートを取得します。

ステップ4-Apache

のリバースプロキシとしてVarnishを設定するこのステップでは、Apache webサーバーの前面でvarnishを設定します。 Varnishはhttpポート80で実行され、クライアントからのすべての要求は、ポート8080で実行されているApache webサーバーに送信される前に、それによって処理されます。

-バックエンド設定

‘varnish’設定ディレクトリに移動し、デフォルトファイル’defaultをバックアップします。vcl’。

cd /etc/varnish/
cp default.vcl default.vcl.aseli

デフォルトのvarnish設定を編集します。vimエディタを使用してvcl’。

vim default.vcl

16行目で’バックエンド’設定を定義します。 私たちのセットアップのバックエンドはApacheであり、ポート8080で実行されています。 そのため、apacheセットアップのvarnish設定は次のようになります:

backend default {
.host = "127.0.0.1";
.port = "8080";
}

保存して終了します。

-ポート80でワニスを実行する

次に、デフォルトのワニスポートを変更する必要があります。 Varnishのデフォルトポートは’6081’と’6082’で、ポートをHTTPポート80に変更する必要があります(パブリックアドレスのみ)。

‘/etc/default’ディレクトリのvarnishパラメータ設定を編集します。

cd /etc/default/
vim varnish

‘DAEMON_OPTS’行を編集し、以下に示すように標準HTTPポート’80’でパブリックアドレスのデフォルトポート’6081’を変更します。

DAEMON_OPTS="-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m"

保存して終了します。

次に、varnishサービスファイル「varnish」を編集する必要があります。サービス”。 ‘/Lib/systemd/system’ディレクトリに移動し、vimを使用してサービスファイルを編集します。

cd /lib/systemd/system/
vim varnish.service

‘ExecStart’行で、varnish startコマンドを以下のように変更します。

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サービス設定をリロードしてから、varnishを再起動します。

systemctl daemon-reload
systemctl restart varnish

ここで、varnishをチェックし、HTTPポート80で実行されていることを確認します。

netstat -plntu

そのため、Varnishは現在、ポート8080にあるApache webサーバーのフロントエンドとしてHTTPポート80で実行されています。

ステップ5-テスト

curlコマンドを使用してテストします。

curl -I hakase-labs.co

以下に示すようにHTTPヘッダーを取得してください。

webブラウザから確認すると、テストサーバーのURLはhttp://hakase-labs.co/です。 ここでサーバーのURLを選択します。

そして、我々はまだApacheのコンテンツを取得します。

‘varnishncsa’コマンドを使用してvarnishログを確認します。

varnishncsa

そして、私たちはApacheのアクセスログからだけログを取得します。

Apache webサーバーのVarnishのインストールと設定が完了しました。

Leave a Reply

メールアドレスが公開されることはありません。