运行Spring Boot项目,阿里云服务器需要什么配置?

在阿里云服务器上运行 Spring Boot 项目,通常不需要非常复杂的配置,但需要确保网络、安全组、系统环境和应用配置四个层面正确无误。以下是详细步骤和注意事项:


✅ 一、基础环境准备

1. 安装 Java 运行时

Spring Boot 基于 Java,需安装 JDK(推荐 JDK 8 或 JDK 11/17):

# Ubuntu/Debian
sudo apt update
sudo apt install openjdk-11-jdk -y

# CentOS/RHEL
sudo yum install java-11-openjdk-devel -y

验证安装:

java -version

2. 可选:安装 Maven 或 Gradle(用于构建项目)

如果服务器仅用于运行已打包的 JAR 包,可不安装;若需在服务器上编译,则需安装。


✅ 二、上传并运行 Spring Boot 应用

方式一:直接运行 JAR 包(推荐)

  1. 将 target/*.jar 上传到服务器(如 /opt/app/myapp.jar)。
  2. 启动命令:
nohup java -jar /opt/app/myapp.jar > /var/log/myapp.log 2>&1 &

-Dserver.port=8080 可指定端口
建议使用 systemd 或 Supervisor 管理进程,便于开机自启和日志监控。

示例 systemd 服务文件 /etc/systemd/system/myapp.service:

[Unit]
Description=My Spring Boot App
After=network.target

[Service]
User=root
ExecStart=/usr/bin/java -jar /opt/app/myapp.jar
SuccessExitStatus=143
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

启用并启动:

sudo systemctl daemon-reload
sudo systemctl enable myapp
sudo systemctl start myapp

查看状态:

sudo systemctl status myapp
journalctl -u myapp -f

✅ 三、阿里云关键配置

🔑 1. 安全组规则(最关键!)

必须开放应用使用的端口(如 8080),否则外部无法访问。

操作路径:
ECS 控制台 → 实例 → 安全组 → 手动添加规则

方向 协议 端口范围 授权对象 描述
入站 TCP 8080 0.0.0.0/0 Spring Boot
入站 TCP 22 你的IP SSH

⚠️ 不要随意开放 0.0.0.0/0 的高危端口(如 3306、Redis 等),除非有认证机制。

🔑 2. 防火墙(云服务器内部)

检查是否开启 firewalld 或 ufw,并确保端口被放行:

# CentOS (firewalld)
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

# Ubuntu (ufw)
sudo ufw allow 8080/tcp
sudo ufw enable   # 首次启用

✅ 四、Spring Boot 应用自身配置

1. 绑定所有网卡(允许外部访问)

默认情况下,Spring Boot 只监听 localhost,需改为 0.0.0.0:

方法一:application.yml

server:
  address: 0.0.0.0
  port: 8080

方法二:启动参数

java -jar myapp.jar --server.address=0.0.0.0 --server.port=8080

2. 数据库连接(如使用 MySQL)

确保:

  • 数据库服务器允许远程连接(MySQL 需修改 bind-address 或用户权限)
  • 阿里云 RDS 需在白名单中添加 ECS 内网 IP 或公网 IP
  • 使用内网域名访问 RDS 更快更稳定

示例 JDBC URL:

spring.datasource.url=jdbc:mysql://rm-xxx.mysql.rds.aliyuncs.com:3306/mydb?useSSL=false&serverTimezone=UTC

3. 其他常见配置调整

  • 关闭调试日志(生产环境):

    logging:
    level:
      root: WARN
  • 设置 JVM 内存参数(避免 OOM):

    java -Xms512m -Xmx1024m -jar myapp.jar
  • 使用 Nginx 反向X_X + HTTPS(推荐生产环境)


✅ 五、验证访问

从本地浏览器访问:

http://<你的ECS公网IP>:8080/hello

若能正常返回响应,说明部署成功!


📌 最佳实践建议

项目 建议
进程管理 使用 systemd 或 Supervisor
日志管理 使用 logback/slf4j 输出到文件,配合 logrotate
性能优化 使用 Nginx 做反向X_X、静态资源缓存
安全加固 禁用 root 登录、使用非特权用户运行应用、定期更新系统
监控告警 集成 Prometheus + Grafana 或阿里云云监控

如有具体场景(如 Docker 部署、多实例集群、HTTPS 配置等),可进一步补充需求,我可提供更详细的方案。

未经允许不得转载:CLOUD技术博 » 运行Spring Boot项目,阿里云服务器需要什么配置?