在一台云服务器上搭建两个网站是非常常见的需求,可以通过以下几种方式实现:
🧩 一、准备工作
- 操作系统:常见如 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.com 和 site2.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,修改对应的 ServerName 和 DocumentRoot。
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博客