Nginxのキャッシュ設定と負荷対策のチューニング方法について
Nginxでブラウザキャッシュやgzip圧縮等の設定を行い、ページ表示速度の向上させたい。また、メモリ1GBのVPSでも耐えられるようにチューニングも行っておきたい。以下に対応方法をメモ。
対応方法
/etc/nginx/nginx.conf
http {}ブロック内に以下を追記する。既に設定済みの項目がある場合は必要な方だけ残す。
# オープンファイルキャッシュ open_file_cache max=1000 inactive=20s; open_file_cache_valid 30s; open_file_cache_min_uses 2; open_file_cache_errors on; # gzip圧縮設定 gzip on; gzip_varying on; gzip_proxied any; gzip_comp_level 4; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript image/svg+xml; gzip_min_length 1024; # メモリ設定 client_body_buffer_size 16k; client_header_buffer_size 1k; large_client_header_buffers 4 8k; output_buffers 1 32k; postpone_output 1460; # keepalive設定 keepalive_timeout 30s; keepalive_requests 100;
/etc/nginx/conf.d/custom.conf
ファイルキャッシュさせたいserver {}ブロック内に以下を追記する。静的ファイルに関するアクセスログはoff、キャッシュ期間は1年としているが適宜変更すること。
# -----------------------------------------------------
# 静的ファイルのキャッシュ設定
# -----------------------------------------------------
location ~* \.(?:css|js|gif|png|jpe?g|pdf|swf|rss|atom|ico|woff2?|svg)$ {
access_log off;
log_not_found off;
expires 1y;
add_header Cache-Control "public, no-transform" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
try_files $uri =404;
}
関連記事
-
-
Nginxで特定のディレクトリに対してBasic認証を設定
Nginxで特定のディレクトリに対してBasic認証を設定したい。Apacheだ ...
-
-
Nginxでリダイレクト(http->https)及びリライト設定
Nginxでhttpアクセス時にhttpsリダイレクトさせたい。それとは別に「h ...
-
-
ホスト側Nginx & Apacheコンテナ環境にてWeb公開用ディレクトリ構造について
Podmanコンテナ環境の各種ディレクトリを整理したい。docker-compo ...
-
-
CentOS7系にLEMP環境(Linux + Nginx + MySQL + PHP)を構築
先日KAGOYAのVPSからIndigoに移行した際にCentOS6から7へバー ...
-
-
AlmaLinux8系にNginxを導入しPodmanコンテナに接続する方法
AlmaLinux8でホスト側はApacheからPodmanコンテナ環境に接続し ...