在阿里云轻量应用服务器(LightHouse)上部署多个 Web 项目是完全可行的,但需要注意其资源限制和配置方式。下面是一个详细的步骤指南,帮助你在阿里云轻量应用服务器上部署多个 Web 应用。
🧩 前提条件
- 已购买并登录阿里云轻量应用服务器。
- 系统已安装如:CentOS、Ubuntu 或 Debian。
- 安装了 Nginx/Apache/Tomcat/Docker 等 Web 服务组件。
- 每个 Web 项目使用不同的端口或域名访问。
✅ 部署多个 Web 项目的常见方法
方法一:使用不同端口 + Nginx 反向(推荐)
步骤:
-
为每个项目分配独立端口
例如:
- 项目 A:运行在
localhost:3000 - 项目 B:运行在
localhost:4000
- 项目 A:运行在
-
安装 Nginx
# Ubuntu/Debian sudo apt update && sudo apt install nginx # CentOS sudo yum install nginx -
配置 Nginx 虚拟主机
创建两个站点配置文件(以
/etc/nginx/sites-available为例):-
/etc/nginx/sites-available/projectAserver { listen 80; server_name projectA.example.com; location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } -
/etc/nginx/sites-available/projectBserver { listen 80; server_name projectB.example.com; location / { proxy_pass http://localhost:4000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
-
-
启用站点
sudo ln -s /etc/nginx/sites-available/projectA /etc/nginx/sites-enabled/ sudo ln -s /etc/nginx/sites-available/projectB /etc/nginx/sites-enabled/ -
测试 & 重启 Nginx
sudo nginx -t sudo systemctl restart nginx -
绑定域名解析
在阿里云控制台将
projectA.example.com和projectB.example.com解析到你的轻量服务器公网 IP。
方法二:使用 Docker 容器化部署(推荐)
如果你希望更灵活地管理多个项目,可以使用 Docker 容器分别运行每个 Web 项目,并通过 Nginx 做反向。
示例:
# docker-compose.yml
version: '3'
services:
web1:
image: your-web1-image
ports:
- "3000:3000"
web2:
image: your-web2-image
ports:
- "4000:4000"
然后同样用 Nginx 配置反向到这两个容器端口即可。
方法三:使用子路径映射(不推荐用于复杂项目)
适用于简单静态网站,比如一个项目放在 /projectA,另一个放在 /projectB。
location /projectA {
proxy_pass http://localhost:3000;
}
location /projectB {
proxy_pass http://localhost:4000;
}
注意:这种方式可能需要调整项目内部的路由设置。
🔐 注意事项
- 资源限制:轻量服务器性能有限,建议不要部署太多占用内存的服务。
- 防火墙设置:确保阿里云控制台的安全组规则允许 80、443、项目所需端口等。
- HTTPS 支持:可使用 Let’s Encrypt 免费证书给每个站点添加 HTTPS。
- 日志监控:使用
journalctl、docker logs或 ELK 来监控多个项目的运行状态。
✅ 总结
| 方法 | 优点 | 缺点 |
|---|---|---|
| 多端口 + Nginx | 简单易行,适合中小型项目 | 需要手动维护多个配置 |
| Docker 容器化 | 易于扩展、隔离性好 | 学习成本略高 |
| 子路径映射 | 不用多域名 | 项目适配麻烦,功能受限 |
如果你能提供具体的技术栈(如 Node.js、Java、Python、PHP),我可以给出更具体的部署示例。
是否需要我为你写一份完整的 Nginx 配置模板或者 Docker Compose 示例?
CLOUD技术博