在同一台 Tai服务器(应为“台服务器,可能笔误)上部署两个 Spring Boot 项目是完全可行的。下面我将详细介绍如何操作,包括端口配置、启动方式、常见问题等。
✅ 前提条件
- 你已经有一台服务器(Linux 或 Windows)
- 已安装 Java 环境(JDK 8+)
- 两个 Spring Boot 项目的可执行 jar 包或源码
🛠️ 部署方法
方法一:使用不同端口运行两个 jar 文件(推荐)
1. 修改 application.yml(或 application.properties)中的 server.port
确保两个 Spring Boot 项目监听不同的端口,例如:
项目 A 的配置:
server:
port: 8080
项目 B 的配置:
server:
port: 8081
如果是打成 jar 包后部署,可以在启动时通过命令行参数指定端口:
java -jar projectA.jar --server.port=8080 java -jar projectB.jar --server.port=8081
2. 启动两个项目
你可以分别在后台启动这两个服务,使用 nohup 或 screen:
nohup java -jar projectA.jar > projectA.log 2>&1 &
nohup java -jar projectB.jar > projectB.log 2>&1 &
这样两个项目就可以同时运行了。
3. 查看日志确认是否成功
tail -f projectA.log
tail -f projectB.log
方法二:使用 Nginx 做反向X_X(可选)
如果你希望通过域名访问,并且希望统一管理,可以使用 Nginx 反向X_X到不同端口。
示例配置:
server {
listen 80;
server_name projecta.example.com;
location / {
proxy_pass http://localhost:8080;
}
}
server {
listen 80;
server_name projectb.example.com;
location / {
proxy_pass http://localhost:8081;
}
}
方法三:使用 Docker 容器化部署(进阶)
如果你熟悉 Docker,也可以为每个项目创建独立容器,指定不同端口映射。
docker run -d -p 8080:8080 project-a
docker run -d -p 8081:8081 project-b
🔐 注意事项
- 端口冲突:确保两个项目使用的端口不冲突。
- 资源占用:注意内存和 CPU 使用情况,避免服务器性能不足。
- 防火墙设置:确保服务器防火墙开放对应端口。
- 日志管理:建议将日志输出到不同文件便于排查问题。
- 进程守护:建议使用 systemd 或 supervisor 管理 Java 进程,防止意外退出。
💡 补充:查看当前运行的服务端口
netstat -tuln | grep :8080
ps aux | grep java
📌 总结
| 方法 | 是否推荐 | 说明 |
|---|---|---|
| 不同端口运行两个 jar | ✅ 推荐 | 最简单直接的方式 |
| 使用 Nginx 反向X_X | ✅ 推荐 | 更适合生产环境 |
| Docker 容器化部署 | ✅ 推荐 | 更加灵活和易于维护 |
如果你能提供更具体的信息(比如操作系统、Spring Boot 版本、是否已有 jar 文件),我可以给出更针对性的指导。需要的话,我也可以帮你写启动脚本或者 systemd 配置文件。
CLOUD技术博