在云服务器上部署两个项目,常见的做法是根据项目的类型(如Web应用、API服务等)选择合适的方式进行部署。以下是几种常见场景和方法:
一、前提条件
- 已有一台云服务器(如阿里云ECS、腾讯云CVM、AWS EC2等)
- 安装了操作系统(如 CentOS、Ubuntu 等)
- 安装了必要的运行环境(如 Nginx、Apache、Tomcat、Docker、Node.js、Java、Python 等)
二、部署两个项目的常见方式
方法一:使用不同端口部署两个项目
示例:
- 项目 A:监听
3000端口 - 项目 B:监听
4000端口
操作步骤:
- 启动项目 A:
node appA.js(假设使用 Node.js,监听3000端口) - 启动项目 B:
node appB.js(监听4000端口) - 在安全组中开放这两个端口(3000 和 4000)
- 访问方式:
- 项目 A:
http://your-server-ip:3000 - 项目 B:
http://your-server-ip:4000
- 项目 A:
✅ 优点:简单快捷
❌ 缺点:需要暴露多个端口,不利于域名访问
方法二:使用 Nginx 反向 + 不同域名/路径
场景:
- 你有两个域名或子域名:
a.example.com→ 项目 Ab.example.com→ 项目 B
或者使用同一域名下的不同路径:
example.com/a→ 项目 Aexample.com/b→ 项目 B
步骤:
- 部署项目 A 和 B 到不同的本地端口(如3000和4000)
- 安装并配置 Nginx
- 修改 Nginx 配置文件(如
/etc/nginx/conf.d/projects.conf):
server {
listen 80;
server_name a.example.com;
location / {
proxy_pass http://localhost:3000;
}
}
server {
listen 80;
server_name b.example.com;
location / {
proxy_pass http://localhost:4000;
}
}
-
重启 Nginx:
sudo systemctl restart nginx -
域名解析到服务器 IP
✅ 优点:统一入口、方便管理、利于SEO和用户访问
✅ 推荐用于生产环境
方法三:使用 Docker 部署两个项目(推荐)
示例:
使用 Docker Compose 同时运行两个容器
# docker-compose.yml
version: '3'
services:
project-a:
image: your-project-a
ports:
- "3000:3000"
container_name: project-a
project-b:
image: your-project-b
ports:
- "4000:4000"
container_name: project-b
然后运行:
docker-compose up -d
再配合 Nginx 反向即可实现统一域名访问。
✅ 优点:隔离性强、便于扩展、易于维护
✅ 推荐用于多项目部署
三、其他注意事项
| 事项 | 说明 |
|---|---|
| 安全组 | 要确保对应端口已放行(如80、443、3000、4000等) |
| 进程守护 | 使用 pm2(Node.js)、systemd 或 Docker 来保证服务不挂 |
| HTTPS | 可以用 Let’s Encrypt + Certbot 给域名添加 SSL 证书 |
| 日志管理 | 建议记录日志并定期清理 |
四、总结
| 方法 | 是否推荐 | 适用场景 |
|---|---|---|
| 不同端口直接访问 | ❌ | 测试环境快速搭建 |
| Nginx 反向 | ✅✅ | 生产环境、正式网站 |
| Docker 部署 | ✅✅✅ | 多项目、复杂依赖、微服务架构 |
如果你能告诉我具体的项目类型(比如:两个 Node.js 项目?一个 Java 一个 Python?),我可以给你更详细的部署方案。欢迎补充!
云计算HECS