ブログに戻る
2月 2, 2026ガイド

1つのVPSサーバーで複数のWebサイトをホストする方法

仮想ホストを使用して1つのVPSサーバーで複数のWebサイトをホストする方法を学びます。複数のドメイン、SSL証明書、リソース割り当てを管理する完全ガイド。

1つのVPSサーバーで複数のWebサイトをホストする方法

1つのVPSサーバーで複数のWebサイトをホストすることは、複数のプロジェクトを管理する効率的でコスト効率の良い方法です。仮想ホストを使用すると、同じサーバーから異なるドメインを提供でき、それぞれが独自の設定、SSL証明書、ドキュメントルートを持ちます。このガイドでは、VPSで複数のWebサイトを設定および管理する方法を示します。

複数のサイトをホストする利点

  • コスト削減:複数のホスティングアカウントではなく1つのサーバー
  • 一元管理:すべてのサイトを1か所で管理
  • リソース共有:サーバーリソースの効率的な使用
  • 簡単なスケーリング:追加のインフラストラクチャなしでより多くのサイトを追加
  • 統一されたバックアップ:すべてのサイトを一緒にバックアップ
  • より良い制御:すべてのプロジェクトに完全なサーバーアクセス

Nginxで仮想ホストを設定

各Webサイト用に個別のサーバーブロックを作成:

bash
nano /etc/nginx/sites-available/example1.com

server {
    listen 80;
    server_name example1.com www.example1.com;
    root /var/www/example1.com;
    index index.html index.php;
    
    location / {
        try_files $uri $uri/ =404;
    }
}

ln -s /etc/nginx/sites-available/example1.com /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx

複数のドメイン用のSSL証明書

Certbotを使用して各ドメインのSSL証明書を設定:

bash
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example1.com -d www.example1.com
certbot --nginx -d example2.com -d www.example2.com

# 証明書はcron経由で自動更新:
certbot renew --dry-run

リソース管理

サイトごとのリソースを監視および制限:

  • 異なるリソース制限を持つPHP-FPMプールを使用
  • 各サイト用に個別のMySQLデータベースを設定
  • ディスク使用量を監視:df -h
  • メモリ使用量を追跡:htopまたはfree -m
  • ディスクの満杯を防ぐためにログローテーションを設定
  • サイトごとのパフォーマンスを追跡する監視ツールを使用

サイトの分離

サイトが互いに干渉しないようにする:

  • 個別のドキュメントルート:/var/www/site1、/var/www/site2
  • リソース制限付きの異なるPHP-FPMプール
  • 個別のデータベースユーザーとデータベース
  • ドメインごとの個別のSSL証明書
  • 各サイト用の分離されたログファイル
  • 最大の分離のためにchrootまたはコンテナを使用(上級者向け)

複数のサイトの監視

  • 各ドメインのアップタイム監視を設定
  • ディスク容量の使用を定期的に監視
  • サイトごとの帯域幅使用量を追跡
  • 高いリソース使用量のアラートを設定
  • すべてのサイトの定期的なバックアップ
  • SSL証明書の有効期限を監視