奋斗
努力

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

云计算

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


✅ 一、准备工作

1. 购买阿里云 ECS 服务器

  • 推荐配置:至少 2核4G 内存(部署两个项目建议内存 ≥ 4G)
  • 操作系统:推荐 CentOS 7/8、Ubuntu 20.04+
  • 安全组:开放端口(如 80、443、8080、8081 等)

✅ 二、环境安装

1. 安装 JDK

# 查看是否已安装
java -version

# 若未安装,安装 OpenJDK(以 CentOS 为例)
sudo yum install -y java-1.8.0-openjdk

# 或者上传 Oracle JDK 并配置环境变量

2. 安装并启动防火墙(可选)

# 开放端口(例如 8080 和 8081)
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --permanent --add-port=8081/tcp
sudo firewall-cmd --reload

✅ 三、部署两个 Spring Boot 项目

方法一:直接运行两个 JAR 包(不同端口)

1. 上传 JAR 包

将两个 Spring Boot 项目打包为 JAR 文件,上传到服务器:

scp project1.jar root@your-server-ip:/root/project1/
scp project2.jar root@your-server-ip:/root/project2/

2. 修改配置文件(application.yml

确保两个项目使用不同端口:

项目1:application.yml

server:
  port: 8080

项目2:application.yml

server:
  port: 8081

也可以通过启动参数指定端口,无需改配置文件。

3. 启动项目(后台运行)

# 启动项目1
nohup java -jar project1.jar --server.port=8080 > project1.log 2>&1 &

# 启动项目2
nohup java -jar project2.jar --server.port=8081 > project2.log 2>&1 &

4. 查看进程

ps -ef | grep java

5. 访问测试

  • 项目1:http://your-server-ip:8080
  • 项目2:http://your-server-ip:8081

方法二:使用 Nginx 反向X_X(推荐用于生产)

1. 安装 Nginx

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

2. 配置 Nginx 反向X_X

编辑配置文件:

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

内容如下:

server {
    listen 80;
    server_name project1.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 project2.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;
    }
}

你也可以使用路径区分,例如:

  • yourdomain.com/app1 → 8080
  • yourdomain.com/app2 → 8081

3. 重启 Nginx

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

4. 域名解析

project1.yourdomain.comproject2.yourdomain.com 解析到你的服务器公网 IP。


✅ 四、进程守护(推荐使用 systemd)

避免使用 nohup,更推荐使用 systemd 管理服务。

创建服务文件:

sudo vim /etc/systemd/system/project1.service

内容:

[Unit]
Description=Spring Boot Project 1
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/bin/java -jar /root/project1/project1.jar --server.port=8080
Restart=always

[Install]
WantedBy=multi-user.target

同理创建 project2.service,端口改为 8081

启用并启动:

sudo systemctl daemon-reload
sudo systemctl start project1
sudo systemctl start project2
sudo systemctl enable project1
sudo systemctl enable project2

✅ 五、注意事项

  1. 端口冲突:确保两个项目使用不同端口。
  2. 内存分配:如果内存紧张,可通过 -Xms-Xmx 控制 JVM 内存。
    java -Xms512m -Xmx1024m -jar project1.jar
  3. 日志管理:定期清理日志或使用 logrotate。
  4. 安全性:关闭不必要的端口,使用防火墙限制访问。
  5. HTTPS:可使用 Nginx + SSL 证书实现 HTTPS。

✅ 六、总结

方式 说明
直接运行 JAR 简单,适合测试
Nginx 反向X_X 推荐生产环境,支持域名、HTTPS、负载均衡
systemd 管理 更稳定,自动重启

如果你提供两个项目的用途(如前后端分离、微服务等),我还可以给出更具体的部署建议(如使用 Docker、Nginx + 域名分流等)。

需要我帮你写完整的部署脚本或 Nginx 配置模板吗?

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