2026年5月23日
2026年5月23日
WordPressのNginx設定を最適化する方法
はじめに
WordPressサイトのパフォーマンスを向上させるためには、ウェブサーバーソフトウェアであるNginxの設定が非常に重要です。適切なNginx設定を行うことで、アクセス速度やセキュリティ面での脆弱性を改善することができます。
症状・背景
このテーマが必要になる主な場面:
- サイトのアクセス速度が遅い
- リソース使用率が高い
- 攻撃からサイトを守るためにより高度なセキュリティ設定が必要
- ステージング環境と生産環境で一貫した設定を行いたい
手順・設定方法
ステップ1: 必要なパッケージのインストール
# WordPressが動作するためには、PHPとMySQLが必要です。それらをインストールします。
sudo apt-get update && sudo apt-get install php-fpm mysql-server nginx -y
# ディレクトリを作成し、適切な権限を設定します。
mkdir -p /var/www/html/wordpress
chown www-data:www-data /var/www/html/wordpress
ステップ2: Nginxの設定ファイル編集
# WordPress用のNginx設定ファイルを作成または編集します。
sudo nano /etc/nginx/sites-available/default
# WordPressの基本的なセキュリティとパフォーマンスを向上させるため、以下の行を追加または変更します。
server {
listen 80;
server_name example.com www.example.com;
root /var/www/html/wordpress;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
ステップ3: Gzip圧縮とキャッシュ設定
# Nginxの設定ファイルにGzip圧縮を追加します。
gzip on;
gzip_vary on;
gzip_min_length 10240;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
# キャッシュ設定を追加します。これにより、ユーザーのブราวザはリソースをより長くキャッシュするようになります。
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 365d;
}
ステップ4: 静的ファイルの最適化とSSL設定
# NginxにHTTPSを有効にするため、Certbotを使用してTLS証明書を取得します。
sudo apt-get install certbot python3-certbot-nginx -y
sudo certbot --nginx -d example.com -d www.example.com
# 取得したSSL証明書を使用してNginx設定ファイルを更新します。
sudo nano /etc/nginx/sites-available/default
server {
listen 443 ssl;
server_name example.com www.example.com;
# SSL関連の設定
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
}
注意事項
- Nginxを更新または再起動する際は、必ずテストを実行して問題がないことを確認してください。
- PHP-FPMの設定も合わせて最適化することで、さらにパフォーマンスが向上します。
- SSL証明書は定期的に更新が必要です。Certbotを使用して自動リニューアルを設定することをお勧めします。
- パフォーマンスとセキュリティのトレードオフには注意してください。
まとめ
1. 基本的なNginx設定: WordPress用に適切な設定ファイルを作成し、PHP-FPMとの連携を確立します。
2. Gzip圧縮: Nginxがレスポンスを圧縮することで転送時間を短縮します。
3. キャッシュの最適化: ブラウザキャッシュを利用することで、リソースの再ダウンロードを減らしパフォーマンスを向上させます。
4. SSL設定: HTTPSを有効にしてサイトのセキュリティを強化します。
5. 定期的な保守: 設定ファイルやソフトウェアの更新、証明書の更新など、継続的にメンテナンスを行います。
関連記事: