轻量服务器如何搭建多个网站?

在轻量服务器(如腾讯云轻量应用服务器、阿里云轻量服务器、或VPS等)上搭建多个网站,可以通过 虚拟主机(Virtual Host) 的方式实现。以下是详细的步骤和建议,适用于常见的Linux系统(如Ubuntu/CentOS)和主流Web服务器软件(如Nginx或Apache)。


一、准备工作

  1. 服务器环境

    • 系统:Ubuntu 20.04 / CentOS 7+ 等
    • 域名:至少两个(如 site1.comsite2.com),并已解析到服务器IP
    • Web服务器:Nginx(推荐)或 Apache
    • 基础服务:安装好 LAMP(Linux + Apache + MySQL + PHP)或 LNMP(Linux + Nginx + MySQL + PHP)
  2. 登录服务器

    ssh root@your_server_ip

二、安装Web服务器(以Nginx为例)

# Ubuntu/Debian
sudo apt update
sudo apt install nginx -y

# CentOS/RHEL
sudo yum install epel-release -y
sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx

三、创建多个网站目录

为每个网站创建独立的根目录:

sudo mkdir -p /var/www/site1.com/html
sudo mkdir -p /var/www/site2.com/html

# 创建测试页面
echo "<h1>Welcome to Site1</h1>" | sudo tee /var/www/site1.com/html/index.html
echo "<h1>Welcome to Site2</h1>" | sudo tee /var/www/site2.com/html/index.html

# 设置权限
sudo chown -R www-data:www-data /var/www/site1.com/html
sudo chown -R www-data:www-data /var/www/site2.com/html
sudo chmod -R 755 /var/www

四、配置Nginx虚拟主机

1. 创建站点配置文件

sudo nano /etc/nginx/sites-available/site1.com

内容如下:

server {
    listen 80;
    server_name site1.com www.site1.com;

    root /var/www/site1.com/html;
    index index.html index.php;

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

    # 如果需要PHP支持,取消下面的注释
    # location ~ .php$ {
    #    include snippets/fastcgi-php.conf;
    #    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    # }
}

复制并修改第二个站点:

sudo cp /etc/nginx/sites-available/site1.com /etc/nginx/sites-available/site2.com
sudo nano /etc/nginx/sites-available/site2.com

修改 server_nameroot 路径:

server {
    listen 80;
    server_name site2.com www.site2.com;

    root /var/www/site2.com/html;
    index index.html index.php;

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

2. 启用站点(创建软链接到 sites-enabled)

sudo ln -s /etc/nginx/sites-available/site1.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/site2.com /etc/nginx/sites-enabled/

3. 删除默认站点(可选)

sudo rm /etc/nginx/sites-enabled/default

4. 测试配置并重启Nginx

sudo nginx -t
sudo systemctl reload nginx

五、域名解析

确保你的域名(如 site1.comsite2.com)的 DNS A 记录指向服务器的公网IP。


六、(可选)配置HTTPS(使用Let’s Encrypt)

安装 Certbot 并为每个站点申请SSL证书:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d site1.com -d www.site1.com
sudo certbot --nginx -d site2.com -d www.site2.com

Certbot 会自动修改Nginx配置并启用HTTPS。


七、其他注意事项

  1. 资源限制
    轻量服务器通常内存较小(如1GB),建议:

    • 使用轻量级PHP版本(如PHP-FPM + OPcache)
    • 避免运行过多服务
    • 使用缓存(如Redis、静态缓存)
  2. 数据库多站共用或分离

    • 可在同一个MySQL中为不同网站创建不同数据库和用户
    • 示例:
      CREATE DATABASE site1_db;
      CREATE USER 'site1_user'@'localhost' IDENTIFIED BY 'password';
      GRANT ALL ON site1_db.* TO 'site1_user'@'localhost';
  3. 使用宝塔面板(可选)
    如果你不想手动配置,可以安装 宝塔面板(BT.cn),它提供图形化界面,一键创建多个网站、数据库、SSL等,非常适合新手。

    安装命令(CentOS):

    yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

总结

✅ 通过 Nginx虚拟主机,你可以在一台轻量服务器上轻松运行多个网站。
✅ 每个网站独立目录、独立域名、可独立配置SSL。
✅ 推荐使用宝塔面板降低运维难度,尤其适合初学者。


如果你告诉我你使用的具体系统、服务器品牌、是否需要PHP/数据库等,我可以提供更定制化的配置脚本。