ホームページ  >  記事  >  運用・保守  >  Web サイトのコンテンツを最新の状態に保つための Nginx キャッシュ クリーニング構成

Web サイトのコンテンツを最新の状態に保つための Nginx キャッシュ クリーニング構成

王林
王林オリジナル
2023-07-05 22:28:353503ブラウズ

Web サイトのコンテンツを最新の状態に保つための Nginx キャッシュ クリーニング構成

Web サイトを構築するとき、Web サイトへのアクセスを高速化し、静的ファイルをキャッシュするために Nginx をリバース プロキシ サーバーとして使用することがよくあります。ただし、Web サイトのコンテンツを更新するときは、ユーザーが最新のコンテンツにアクセスできるように、Nginx のキャッシュを適時にクリアする必要があります。この記事では、Web サイトのコンテンツを最新の状態に保つために Nginx のキャッシュ クリーニングを設定する方法を紹介します。

1. キャッシュ パスの設定

まず、Nginx のキャッシュ パスを設定する必要があります。 Nginx 構成ファイル (通常は /etc/nginx/nginx.conf または /etc/nginx/conf.d/default.conf) を開き、http を見つけます。セクションで、次の構成を追加します。

http {
    ...
    proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;

    server {
        ...
    }
    ...
}

上記の構成では、キャッシュ ファイルを /var/cache/nginx ディレクトリに保存し、キャッシュ サイズを 10GB に、キャッシュの有効期限を 60 に設定します。分。実際の状況に応じて調整する必要があります。

2. キャッシュ クリーニング インターフェイスの構成

次に、Nginx キャッシュをクリーニングするためのインターフェイスを構成する必要があります。

Nginx 構成ファイルで、POST リクエストなど、キャッシュをクリアする必要がある場所を見つけます。

http {
    ...
    server {
        ...
        location /update {
            proxy_pass http://backend;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;

            # 清理缓存
            proxy_cache_purge my_cache GET POST;
        }
        ...
    }
    ...
}

上記の構成では、location /update /update など、URL パスを更新する必要があるかどうかを一致させるために使用されます。 proxy_cache_purge ディレクティブはキャッシュをクリアするために使用され、パラメータ GET POST は GET リクエストと POST リクエストのキャッシュを同時にクリアすることを意味します。実際の状況に応じて調整できます。

3. パージ モジュールをインストールする

Nginx のデフォルトのインストールには proxy_cache_purge モジュールが含まれていないため、手動でインストールする必要があります。

次のコマンドを使用して、Nginx のモジュール管理ツールをインストールします:

yum install -y yum-utils

次のコマンドを使用して、Nginx の拡張ソースを追加します:

yum-config-manager --add-repo=https://nginx.org/packages/centos/7/x86_64/

最後に、次のコマンドを使用して Nginx のモジュール管理ツールをインストールします。 nginx-module-cache-purgeModule:

yum install -y nginx-module-cache-purge

4. Nginx サービスを再起動します

上記の設定を完了した後、Nginx サービスを再起動して、設定が有効になります。次のコマンドを使用して Nginx を再起動します:

systemctl restart nginx

5. キャッシュをクリアする方法

ここで、キャッシュ クリア インターフェイスにアクセスして、Nginx キャッシュをクリーンアップできます。たとえば、/update パスのキャッシュをクリアしたい場合は、次のコマンドを使用できます:

curl -X POST http://yourdomain.com/update

これにより、Nginx が / のキャッシュをクリアします。 update パス。

6. キャッシュを自動的にクリアする

Web サイトのコンテンツを確実に更新するために、定期的にキャッシュを削除することで、Nginx のキャッシュと実際の Web サイトのコンテンツの間の一貫性を自動的に維持できます。 。

スケジュールされたタスク ツール (Cron など) を使用して、キャッシュ クリア コマンドを定期的に実行できます。たとえば、毎日午前 4 時にキャッシュがクリアされるように設定するには、次のコマンドを使用してスケジュールされたタスクを編集します:

crontab -e

次に、次のコマンド行を追加します:

0 4 * * * curl -X POST http://yourdomain.com/update >> /tmp/nginx_cache_clear.log 2>&1

保存してエディターを終了すると、毎日午前 4 時にキャッシュをクリアする操作がトリガーされ、実行結果が /tmp/nginx_cache_clear.log ファイルに保存されます。

概要

上記の構成により、Nginx キャッシュを自動的にクリーンアップし、Web サイトのコンテンツを最新の状態に保つことができます。同時に、Web サイトのさまざまなニーズに合わせて、必要に応じてキャッシュ パスやクリーニング方法を柔軟に調整することもできます。

以上がWeb サイトのコンテンツを最新の状態に保つための Nginx キャッシュ クリーニング構成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。