在轻量级服务器(如阿里云轻量应用服务器、腾讯云轻量服务器等)上部署两个网站是完全可行的,即使资源有限(如1核2G内存)。关键在于合理配置 Web 服务器(如 Nginx、Apache)使用虚拟主机(Virtual Host)或反向来区分不同的网站。
以下是基于 Nginx + Linux(如 Ubuntu/CentOS) 的详细部署步骤:
✅ 前提条件
- 一台轻量级服务器(已安装 Ubuntu/CentOS)
- 两个域名(如
site1.com和site2.com),并已解析到服务器 IP - 已安装 Nginx(或 Apache,这里以 Nginx 为例)
🔧 步骤一:安装 Nginx(如未安装)
# Ubuntu/Debian
sudo apt update
sudo apt install nginx -y
# CentOS/RHEL
sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
📁 步骤二:创建两个网站的目录和内容
# 创建第一个网站目录
sudo mkdir -p /var/www/site1.com/html
echo "<h1>Welcome to Site 1</h1>" | sudo tee /var/www/site1.com/html/index.html
# 创建第二个网站目录
sudo mkdir -p /var/www/site2.com/html
echo "<h1>Welcome to Site 2</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;
location / {
try_files $uri $uri/ =404;
}
}
2. 创建第二个站点配置文件
sudo nano /etc/nginx/sites-available/site2.com
内容如下:
server {
listen 80;
server_name site2.com www.site2.com;
root /var/www/site2.com/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
🔗 步骤四:启用站点(创建软链接)
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/
⚠️ 注意:如果使用 Ubuntu,
sites-enabled默认存在;CentOS 可能需要手动创建或直接包含在nginx.conf中。
🧪 步骤五:测试并重启 Nginx
sudo nginx -t # 测试配置是否正确
sudo systemctl reload nginx
🌐 步骤六:域名解析与访问
确保两个域名的 DNS 已正确指向服务器公网 IP。
然后在浏览器中分别访问:
http://site1.comhttp://site2.com
应看到各自的内容。
✅ 可选:部署不同技术栈的网站(如 Node.js + 静态页面)
你还可以通过 反向 部署不同类型的应用:
示例:一个静态网站 + 一个 Node.js 应用
# Node.js 站点配置(如监听 3000 端口)
server {
listen 80;
server_name api.site2.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
这样可以在同一服务器上运行多个服务(如 Nginx 托管前端,Node.js 托管后端)。
📈 资源优化建议(轻量服务器)
- 使用轻量级应用(如静态页面、PHP-FPM 优化)
- 启用 Nginx 缓存和 Gzip 压缩
- 关闭不必要的服务
- 使用
pm2管理 Node.js 应用 - 定期监控资源:
htop、df -h、free -m
✅ 总结
| 项目 | 方法 |
|---|---|
| 多网站支持 | Nginx 虚拟主机 |
| 不同域名 | server_name 区分 |
| 不同内容 | 不同 root 目录 |
| 不同技术 | 反向到不同端口 |
只要合理配置,即使是轻量级服务器,也能稳定运行多个网站。
如需 HTTPS,可使用 Let’s Encrypt + Certbot 为两个站点自动配置 SSL 证书。
需要我补充 HTTPS 配置吗?
CLOUD技术博