一台云服务器如何搭建两个网站?

在一台云服务器上搭建两个网站是非常常见的需求,可以通过以下几种方式实现:


🧩 一、准备工作

  • 操作系统:常见如 CentOS、Ubuntu、Debian 等
  • Web 服务器软件:如 Nginx、Apache、IIS(Windows)
  • 域名解析:为两个网站分别配置不同的域名,并解析到同一台服务器 IP
  • 网站程序:可以是静态 HTML、PHP、Node.js、Python 应用等

✅ 方法一:使用虚拟主机(推荐)

这是最常用的方法,适用于 Apache 或 Nginx。

📌 使用 Nginx 搭建两个网站(示例)

1. 安装 Nginx

# Ubuntu/Debian
sudo apt update && sudo apt install nginx

# CentOS
sudo yum install nginx

2. 准备两个网站的文件目录

sudo mkdir -p /var/www/site1
sudo mkdir -p /var/www/site2

然后把各自的网页文件放到对应目录中。

3. 配置 Nginx 虚拟主机

创建两个站点配置文件:

/etc/nginx/sites-available/site1.conf
server {
    listen 80;
    server_name site1.com www.site1.com;

    location / {
        root /var/www/site1;
        index index.html;
        try_files $uri $uri/ =404;
    }
}
/etc/nginx/sites-available/site2.conf
server {
    listen 80;
    server_name site2.com www.site2.com;

    location / {
        root /var/www/site2;
        index index.html;
        try_files $uri $uri/ =404;
    }
}

4. 启用站点并重启 Nginx

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

sudo nginx -t           # 测试配置是否正确
sudo systemctl restart nginx

现在你就可以通过 site1.comsite2.com 访问两个不同网站了!


📌 使用 Apache 搭建两个网站(示例)

1. 安装 Apache

# Ubuntu/Debian
sudo apt install apache2

# CentOS
sudo yum install httpd

2. 创建网站目录

sudo mkdir -p /var/www/site1
sudo mkdir -p /var/www/site2

3. 配置虚拟主机

创建两个 .conf 文件:

/etc/apache2/sites-available/site1.conf
<VirtualHost *:80>
    ServerAdmin admin@site1.com
    ServerName site1.com
    ServerAlias www.site1.com
    DocumentRoot /var/www/site1
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

同理创建 site2.conf,修改对应的 ServerNameDocumentRoot

4. 启用站点并重启 Apache

sudo a2ensite site1
sudo a2ensite site2
sudo systemctl restart apache2

✅ 方法二:使用不同端口访问(适合测试)

你可以让两个网站监听不同的端口,比如:

  • 网站 A:http://your_ip:80
  • 网站 B:http://your_ip:8080

只需在 Web 服务器配置中设置不同的监听端口即可。


✅ 方法三:使用 Docker(高级)

如果你熟悉 Docker,也可以使用多个容器来运行不同的网站服务。例如:

version: '3'
services:
  site1:
    image: nginx
    ports:
      - "80:80"
    volumes:
      - ./site1:/usr/share/nginx/html

  site2:
    image: nginx
    ports:
      - "8080:80"
    volumes:
      - ./site2:/usr/share/nginx/html

🔒 注意事项

  • 域名必须解析到你的服务器公网 IP。
  • 如果要支持 HTTPS,可以为每个网站申请 SSL 证书(推荐使用 Let’s Encrypt)。
  • 确保防火墙开放对应端口(如 80、443)。

📌 总结

方法 适用场景 推荐指数
虚拟主机(Nginx/Apache) 多个域名共用一个 IP ⭐⭐⭐⭐⭐
不同端口访问 测试环境 ⭐⭐⭐
Docker 容器 高级用户,多项目隔离 ⭐⭐⭐⭐

如果你告诉我你使用的系统和网站类型(静态 HTML?PHP?),我可以提供更具体的配置示例!

未经允许不得转载:ECLOUD博客 » 一台云服务器如何搭建两个网站?