返回博客
二月 2, 2026指南

如何在一台 VPS 服务器上托管多个网站

了解如何使用虚拟主机在单个 VPS 服务器上托管多个网站。管理多个域名、SSL 证书和资源分配的完整指南。

如何在一台 VPS 服务器上托管多个网站

在一台 VPS 服务器上托管多个网站是管理多个项目的高效且经济高效的方式。使用虚拟主机,您可以从同一服务器提供不同的域名,每个域名都有自己的配置、SSL 证书和文档根目录。本指南向您展示如何在 VPS 上设置和管理多个网站。

托管多个网站的好处

  • 节省成本:一台服务器而不是多个托管账户
  • 集中管理:所有网站都在一个地方
  • 资源共享:高效使用服务器资源
  • 易于扩展:无需额外基础设施即可添加更多网站
  • 统一备份:一起备份所有网站
  • 更好的控制:所有项目的完整服务器访问权限

使用 Nginx 设置虚拟主机

为每个网站创建单独的服务器块:

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 证书过期日期