在轻量应用服务器上挂载多个网站是可行的,关键是根据服务器操作系统和需求选择合适的方案。以下是具体方法和注意事项:
一、核心方案对比
| 方案 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| 虚拟主机(Nginx/Apache) | 多域名/子站点 | 资源隔离好,管理方便 | 配置稍复杂 |
| 端口区分 | 测试环境/临时使用 | 简单快速 | 需带端口访问,不专业 |
| 容器化(Docker) | 环境隔离需求高 | 完全隔离,便于迁移 | 占用资源稍多 |
| 反向X_X | 分布式部署 | 灵活路由,负载均衡 | 需要额外服务器 |
二、主流方案详解(以Nginx为例)
- 基于域名的虚拟主机
# 网站1配置 server { listen 80; server_name www.site1.com; root /var/www/site1; index index.html; }
网站2配置
server {
listen 80;
server_name www.site2.com;
root /var/www/site2;
index index.html;
}
2. **基于端口的方案(临时测试用)**
```nginx
server {
listen 8080;
server_name localhost;
root /var/www/site3;
}
三、关键操作步骤
-
域名解析
- 所有域名A记录指向服务器IP
- 确保服务器已备案(国内必须)
-
目录结构建议
/var/www/ ├── site1 │ └── index.html ├── site2 │ └── index.html └── logs/ ├── site1_access.log └── site2_access.log -
SSL证书配置(HTTPS必须)
server { listen 443 ssl; server_name www.site1.com; ssl_certificate /path/to/site1.crt; ssl_certificate_key /path/to/site1.key; # 其他配置... }
四、性能优化建议
- 单个服务器建议承载网站数量:
- 静态网站:20-30个(1核2G配置)
- 动态网站(WordPress类):5-8个
- 启用缓存:Nginx FastCGI缓存
- 限制资源:对PHP-FPM进程数限制
五、常见问题解决方案
-
403禁止访问
- 检查目录权限:
chmod 755 /var/www/site1 - 确保Nginx用户有权限:
chown -R www-data:www-data /var/www
- 检查目录权限:
-
SSL证书冲突
- 使用通配符证书或多域名证书
- 或为每个站点单独配置证书
-
资源占用过高
- 安装监控工具(如Netdata)
- 限制MySQL连接数
六、进阶方案
-
使用宝塔面板(适合新手)
- 可视化创建站点
- 自动SSL证书申请
- 一键备份功能
-
Docker部署
# 每个网站独立容器 docker run -d -p 80:80 -v ./site1:/usr/share/nginx/html nginx
注意事项
- 国内服务器必须完成ICP备案
- 流量突发时建议启用CDN
- 定期备份网站数据(推荐rclone同步到对象存储)
根据实际访问量,1核2G的轻量服务器建议承载5-15个企业官网级站点(日均PV<5000)。高流量站点建议单独部署或升级配置。
云服务器