阿里云服务器部署2套springboot项目?

在阿里云服务器上部署两套 Spring Boot 项目是完全可行的,以下是详细的步骤和建议,帮助你顺利完成部署。


✅ 前提条件

  1. 一台阿里云 ECS 实例(Linux 系统,如 CentOS、Ubuntu)
  2. 已安装 Java 环境(JDK 8 或以上)
  3. 已准备好两个 Spring Boot 项目的 可执行 JAR 包
  4. 可选:Nginx(用于反向X_X或负载均衡)

🚀 部署方案一:通过不同端口运行两个项目(推荐新手)

步骤 1:上传 JAR 包到服务器

使用 scp 或 FTP 工具将两个 JAR 包上传到服务器:

scp springboot-app1.jar root@your-server-ip:/root/apps/
scp springboot-app2.jar root@your-server-ip:/root/apps/

创建目录:

mkdir -p /root/apps
cd /root/apps

步骤 2:配置不同端口

确保两个 Spring Boot 项目的 application.yml 中使用的端口不冲突:

  • app1: server.port=8080
  • app2: server.port=8081

如果是打包后的 JAR,可以在启动时指定端口:

java -jar springboot-app1.jar --server.port=8080
java -jar springboot-app2.jar --server.port=8081

步骤 3:后台运行项目(使用 nohup)

# 启动第一个项目
nohup java -jar springboot-app1.jar --server.port=8080 > app1.log 2>&1 &

# 启动第二个项目
nohup java -jar springboot-app2.jar --server.port=8081 > app2.log 2>&1 &

使用 & 让进程在后台运行,nohup 防止终端关闭后中断。

步骤 4:查看进程是否运行

ps aux | grep java

步骤 5:开放安全组端口

登录阿里云控制台:

  • 进入 ECS 实例管理
  • 找到实例,点击 安全组
  • 添加安全组规则,放行端口:
    • 8080
    • 8081
    • (或根据实际需要开放)

然后就可以通过以下方式访问:

  • http://your-server-ip:8080
  • http://your-server-ip:8081

🌐 部署方案二:使用 Nginx 反向X_X(更专业,支持域名)

优点:

  • 可以用域名访问不同项目
  • 统一使用 80/443 端口
  • 支持 HTTPS

步骤 1:安装 Nginx

# Ubuntu
sudo apt update
sudo apt install nginx -y

# CentOS
sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx

步骤 2:配置 Nginx 虚拟主机

编辑配置文件:

sudo vim /etc/nginx/conf.d/springboot.conf

内容如下:

server {
    listen 80;
    server_name app1.yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

server {
    listen 80;
    server_name app2.yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:8081;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

步骤 3:重启 Nginx

sudo nginx -t           # 测试配置
sudo systemctl reload nginx

步骤 4:域名解析

app1.yourdomain.comapp2.yourdomain.com 解析到你的服务器公网 IP。


🔐 安全建议

  1. 防火墙设置:只开放必要的端口(如 80, 443, 22)

  2. 使用 systemd 管理服务(推荐)

    创建服务文件 /etc/systemd/system/app1.service

    [Unit]
    Description=Spring Boot App1
    After=network.target
    
    [Service]
    User=root
    ExecStart=/usr/bin/java -jar /root/apps/springboot-app1.jar --server.port=8080
    SuccessExitStatus=143
    Restart=always
    
    [Install]
    WantedBy=multi-user.target

    启用服务:

    sudo systemctl daemon-reload
    sudo systemctl start app1
    sudo systemctl enable app1
  3. 日志监控:定期查看日志,排查异常


✅ 总结

方案 适用场景
不同端口直接访问 快速测试、开发环境
Nginx + 域名 生产环境、正式上线

只要保证两个 Spring Boot 应用使用不同的端口,就能在同一台阿里云服务器上稳定运行。


如果你提供具体的需求(比如是否要域名、是否需要 HTTPS、项目用途等),我可以给出更定制化的部署脚本或架构建议。

未经允许不得转载:秒懂云 » 阿里云服务器部署2套springboot项目?