nginx 第5話
生成: LM Studio Local

nginx 第5話: nginx の高パフォーマンス設定とキャッシュ機能

はじめに

前回はnginx のアクセス制御とエラーハンドリングについて学びました。今回はnginx の高パフォーマンス設定とキャッシュ機能について説明します。

これらの機能は、サーバーの負荷を軽減し、応答速度を向上させるために不可欠です。高パフォーマンス設定では、nginx のコンフィギュレーションやリソースの設定について学びます。一方で、キャッシュ機能では、nginx がキャッシュするデータとその方法について説明します。

高パフォーマンス設定

nginx では、高パフォーマンス設定は worker_processesworker_connections ディレクティブを使用して行うことができます。例えば、以下のように worker_processes を指定すると、nginx のプロセスの数を制御できます。

http {
    # worker_processes は 1 以上の整数で指定します。
    worker_processes auto;

    # worker_connections は各プロセスが管理する最大接続数です。
    worker_connections 1024;
}

また、keepalive_timeout ディレクティブを使用すると、nginx が長時間保持する接続のタイムアウト設定を行うことができます。

http {
    keepalive_timeout 65;
}

キャッシュ機能

nginx では、キャッシュ機能は proxy_cache_path ディレクティブを使用して行うことができます。例えば、以下のように /var/cache/nginx にキャッシュディレクトリを作成することができます。

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

    server {
        listen 80;
        server_name example.com;

        location / {
            # キャッシュを有効にする
            proxy_cache my_cache;
            proxy_cache_valid 200 302 1d;
            proxy_pass http://backend;
        }
    }
}

また、proxy_cache_bypass ディレクティブを使用すると、キャッシュするデータの条件を指定できます。

http {
    server {
        listen 80;
        server_name example.com;

        location / {
            # キャッシュを有効にする
            proxy_cache my_cache;
            proxy_cache_valid 200 302 1d;
            proxy_pass http://backend;

            # キャッシュの条件を指定する
            proxy_cache_bypass $http_cookie;
        }
    }
}

以上で、nginx の高パフォーマンス設定とキャッシュ機能について学びました。これらの機能は、サーバーの負荷を軽減し、応答速度を向上させるために不可欠です。