GNU/Linux >> Linux の 問題 >  >> Linux

Ubuntu18.04でNginxWebサーバーを使用してVarnishキャッシュをインストールおよび構成する

Varnish Cacheは、高負荷の動的Webサイト用に設計された無料のオープンソースの強力なWebアプリケーションアクセラレータです。 Varnish CacheはWebサーバーの背後にあり、Webサイトを約300〜1000倍高速化できます。複数のサーバーを実行している場合は、ロードバランサーとしても使用できます。 Varnish Cacheは、要求されたWebページをメモリにキャッシュし、同じ情報が複数回要求されたときにコンテンツを最初から作成するのを遅らせることなく、要求されたページを提供することで機能します。

このチュートリアルでは、Ubuntu18.04VPSでNginxのプロキシサーバーとしてVarnishCacheを設定する方法を示します。

前提条件

  • Atlantic.Netクラウドプラットフォーム上の新しいUbuntu18.04VPS。
  • サーバーに設定されたルートパスワード。

ステップ1-Atlantic.Netクラウドサーバーを作成する

まず、Atlantic.Netクラウドサーバーにログインします。 2GB以上のRAMを搭載したオペレーティングシステムとしてUbuntu18.04を選択して、新しいサーバーを作成します。 SSH経由でクラウドサーバーに接続し、ページの上部で強調表示されているクレデンシャルを使用してログインします。

Ubuntu 18.04サーバーにログインしたら、次のコマンドを実行して、ベースシステムを最新の利用可能なパッケージで更新します。

apt-get update -y

ステップ2–Varnishキャッシュをインストールする

apt-get install varnish -y

インストールが正常に完了すると、Varnishキャッシュサービスが自動的に開始されます。次のコマンドを使用して、Varnishサービスのステータスを確認できます。

systemctl status varnish

次の出力が得られるはずです:

次のコマンドを使用して、インストールされているワニスのバージョンを確認することもできます。

varnishd -V

次の出力が表示されます。

netstat -ant

次の出力が表示されます。

ステップ3–Nginxのインストールと構成

このセクションでは、Varnishキャッシュサーバーの背後に配置するようにNginxをインストールして構成します。デフォルトでは、Nginxはポート80で実行されるため、ポート8088でリッスンするようにNginxを構成する必要があります。

まず、次のコマンドを使用してNginxWebサーバーをインストールします。

apt-get install nginx -y

Nginx Webサーバーをインストールした後、Nginxのデフォルトの仮想ホスト構成ファイルを編集します。

nano /etc/nginx/sites-available/default

以下に示すように、デフォルトのポートを80から8088に変更します。

server {
        listen 8088 default_server;
        listen [::]:8088 default_server;
        root /var/www/html;
        index index.html index.htm index.nginx-debian.html;
        server_name _;
        location / {
                try_files $uri $uri/ =404;
        }

}

注:ファイル内のすべてのデフォルトエントリを削除またはコメントアウトしたことを確認し、上記のコンテンツのみが保存されていることを確認してください。これを行わないと、nginxサービスの開始が拒否されます

終了したら、ファイルを保存して閉じます。次に、Nginxサービスを再起動して、構成を適用します。

systemctl restart nginx

ステップ4–Varnishキャッシュを構成する

次に、ポート80を使用するようにVarnishを構成して、Varnishキャッシュサーバーを介してトラフィックをNginxWebサーバーにルーティングできるようにする必要があります。

これを行うには、ファイル/lib/systemd/system/varnish.service:

を編集します。
nano /lib/systemd/system/varnish.service

以下に示すように、Varnishのデフォルトポートを6081から80に変更します。

[Unit]
Description=Varnish HTTP accelerator
Documentation=https://www.varnish-cache.org/docs/4.1/ man:varnishd

[Service]
Type=simple
LimitNOFILE=131072
LimitMEMLOCK=82000
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
ExecReload=/usr/share/varnish/varnishreload
ProtectSystem=full
ProtectHome=true
PrivateTmp=true
PrivateDevices=true

[Install]
WantedBy=multi-user.target

終了したら、ファイルを保存して閉じます。次に、次のコマンドを使用してsystemdデーモンをリロードします。

systemctl daemon-reload

次に、NginxをVarnishのバックエンドサーバーとして構成する必要があります。これを行うには、ファイル/etc/varnish/default.vcl:

を編集します。
nano /etc/varnish/default.vcl

以下に示すように、ポートを8080から8088に変更します。

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

終了したら、ファイルを保存して閉じます。

:Nginx Webサーバーが他のホストにインストールされている場合は、127.0.0.1をNginxサーバーのIPアドレスに置き換えます。

最後に、次のコマンドを使用してVarnishキャッシュサーバーを再起動します。

systemctl restart varnish

ステップ5– VarnishCacheServerを確認する

この時点で、VarnishキャッシュはNginxWebサーバーで動作するように構成されています。それをテストする時が来ました。

以下に示すように、curlコマンドを使用してVarnishキャッシュを確認できます。

curl -I your-server-ip

次の出力が得られるはずです:

HTTP/1.1 200 OK
Server: nginx/1.14.0 (Ubuntu)
Date: Sun, 01 Dec 2019 06:46:18 GMT
Content-Type: text/html
Last-Modified: Sun, 01 Dec 2019 06:41:28 GMT
ETag: W/"5de36098-264"
Vary: Accept-Encoding
X-Varnish: 32770 3
Age: 17
Via: 1.1 varnish (Varnish/5.2)
Accept-Ranges: bytes
Connection: keep-alive

上記の出力は、VarnishCacheでNginxサーバーを使用していることを明確に示しています。

次のコマンドを使用して、Varnishのキャッシュ統計を確認することもできます。

varnishstat

次の画面が表示されます。

次のコマンドを使用して、ワニスのログエントリのランキングを確認することもできます。

varnishtop

出力:

Varnishキャッシュに問題がある場合は、次のコマンドを使用してVarnishログを確認できます。

tail -f varnishncsa.log

結論

おめでとう!これで、Ubuntu18.04VPSにNginxを使用してVarnishCacheサーバーが正常にインストールおよび構成されました。ワニスのドキュメントを参照して、必要に応じて構成を最適化できます。


Linux
  1. Ubuntu13.10にApacheWebサーバーをインストールして構成する方法

  2. MariaDB、Puma、Nginxを使用してUbuntu14.04サーバーにRedmineをインストールします。

  3. UbuntuにVarnishとNginxを使用してWordPressをインストールする

  1. Ubuntu 18.04 /Debian9にNginxをインストールして構成する方法

  2. Nginx を使用して Ubuntu 20.04 に phpMyAdmin をインストールする

  3. Ubuntu 22.04 に NVM と Nginx を使用して Node.js をインストールする方法

  1. Ubuntu20.04でPHPとMariaDBを使用してCaddyWebサーバーをインストールおよび構成する方法

  2. Ubuntu16.04にVNCサーバーをインストールして構成する

  3. Ubuntu20.04にVNCをインストールして構成する