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サーバーを使用します。
私たちは何をしますか
- Apache Webサーバーをインストール
- Apacheのデフォルトポートを変更
- Varnishをインストール
- Varnishを設定
- セットアップをテスト
前提条件
- >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のインストールと設定が完了しました。