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は複数のプラグインやモジュールを提供し、カスタマイズが容易です。
関連記事: