2026年6月18日

2026年6月18日

Apacheで静的ファイルを効率よく配信する方法

ステップ1: メモリ制限の設定

# タイムアウトを増やすことで、静的ファイルの読み込みにかかる時間を延ばすことができます
<Limit GET POST>
    Timeout 300
</Limit>

# 静的ファイルに適用する最大メモリサイズを制限します
SetEnvIfNoCase Request_URI \.(gif|jpe?g|png)$ nokeepalive

ステップ2: Gzip圧縮の設定

# Gzip圧縮機能を有効にする
<IfModule mod_deflate.c>
    # 静的ファイルに対してGzip圧縮を適用する
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
    AddOutputFilterByType DEFLATE application/x-font
    AddOutputFilterByType DEFLATE application/x-font-opentype
    AddOutputFilterByType DEFLATE application/x-font-otf
    AddOutputFilterByType DEFLATE application/x-font-truetype
    AddOutputFilterByType DEFLATE application/x-font-ttf
    AddOutputFilterByType DEFLATE application/x-javascript
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE font/opentype
    AddOutputFilterByType DEFLATE font/otf
    AddOutputFilterByType DEFLATE font/ttf
    AddOutputFilterByType DEFLATE image/svg+xml
    AddOutputFilterByType DEFLATE image/x-icon
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/javascript
    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/xml
</IfModule>

ステップ3: ロードバランサリングとキャッシュ設定

# Load Balancerからの静的ファイルの配信を最適化するための設定
ProxyPass /static/ http://127.0.0.1:8080/static/
<Proxy http://127.0.0.1:8080/static/>
    Order deny,allow
    Allow from all
</Proxy>

# キャッシュ機能を有効にする
FileETag MTime Size

# 静的ファイルのキャッシュ期限を設定
<FilesMatch \.(ico|jpg|jpeg|png|gif|js|css)$>
    Header set Cache-Control "max-age=2592000, public"
</FilesMatch>

ステップ4: 確認と監視

# Apacheのログを確認して、静的ファイルの配信状況を監視します
tail -f /var/log/apache2/access.log

お気軽にご相談ください

お見積りへ お問い合わせへ