2026年11月5日

2026年11月5日

VPSのWebサーバーをApacheからNginxに移行する方法

はじめに

この記事では、VPS上のWebサーバーをApacheからNginxへ移行する方法について解説します。Nginxは軽量で高性能なWebサーバーや反芻サーバーとして広く使用されており、パフォーマンス向上や安定性の改善を目的とした移行が一般的です。

症状・背景

このテーマが必要になる主な場面:

  • VPSの負荷が高い状況で Apache のパフォーマンスに問題がある。
  • サイトのアクセス数が増加し、Nginx の高パフォーマンスが求められる。
  • Nginx によるセキュリティ強化が必要な場合。

手順・設定方法

ステップ1: 環境準備とNginxインストール

# システムの更新とパッケージ管理ツールのインストール
sudo apt-get update && sudo apt-get upgrade -y

# Nginxのインストール
sudo apt-get install nginx -y

ステップ2: ApacheからNginxへのデータ移行

# Apacheを停止し、必要なファイルやディレクトリをバックアップ
sudo systemctl stop apache2
cp -r /var/www/html /var/www/backup_apache_html
mkdir -p /var/www/html

# Nginxの基本設定ファイルを作成
cat > /etc/nginx/sites-available/default <<EOF
server {
    listen 80;
    server_name your_domain.com;

    root /var/www/html;
    index index.html index.htm index.php;

    location / {
        try_files \$uri \$uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock; # あなたのPHPバージョンに合わせて調整
    }
}
EOF

# Nginxを再起動して設定反映
sudo systemctl restart nginx

ステップ3: PHPのフミゲーションと管理

# PHP-FPMのインストール
sudo apt-get install php7.4-fpm -y

# PHP-FPMの設定ファイルを確認/修正
cat /etc/php/7.4/fpm/pool.d/www.conf | grep -v '^;' > /etc/php/7.4/fpm/pool.d/www.conf.new
sed -i 's/^listen = .*/listen = \/run\/php\/php7.4-fpm.sock/' /etc/php/7.4/fpm/pool.d/www.conf.new

# PHP-FPMの再起動
sudo systemctl restart php7.4-fpm

ステップ4: 実践/トラブルシュート/監視

# Nginxのログを確認する
tail -f /var/log/nginx/error.log

# Apacheのログバックアップファイルを参照する
cat /var/www/backup_apache_html/index.html

注意事項

  • 設定ファイルの修正や移行時にファイル名の一致が重要です。
  • PHP-FPMとNginxの通信ソケットは適切に設定されているか確認してください。
  • セキュリティ上、必要であればNginxのアクセスログとエラーログを定期的に確認すること。

まとめ

1. パフォーマンス向上: Nginxの高い処理効率により、VPS上の負荷が軽減されます。

2. 安定性改善: Nginxの堅牢な構造により、サイトの安定稼働を実現します。

3. セキュリティ強化: Nginxは初期設定から安全性に優れており、追加のセキュリティ対策が容易です。

4. 維持管理の簡略化: Nginxのシンプルな構造により、維持管理がより容易になります。

5. 柔軟性: Nginxは複数のプラグインやモジュールを提供し、カスタマイズが容易です。

関連記事:

お気軽にご相談ください

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