领优惠
首页 / 场景与建站 / 正文

阿里云部署Java项目教程(Spring Boot/Tomcat实战)

分类:场景与建站 · 关键词:阿里云部署Java项目 · 更新:2026-11-05
阿里云新用户专享优惠
爆款云服务器 99元/年起 · 代金券免费领 · 个人建站/学习/企业上云均适用
查看实时活动价格
活动价格以阿里云官网实时页面为准,通过本站链接注册购买可享新用户优惠

写好的Java项目怎么放上云服务器对外提供服务,是后端新手部署环节最常问的问题。本文以阿里云ECS为例,覆盖Spring Boot jar包与传统Tomcat war包两条部署路线,把JDK安装、进程守护、反向代理这些关键环节一次讲清。

一、需求分析:Java项目的资源特点

Java应用的特点是内存占用偏高,JVM启动就需要几百兆打底,因此配置选择的重点是内存:

磁盘建议ESSD,日志写入和数据库读写的体验差距明显。

二、服务器配置推荐

方案 配置 参考价(以官网活动页为准) 适合场景
ECS e实例 2核2G 3M带宽 约99元/年 单服务练手、演示环境
ECS 进阶款 2核4G 约199元/年 正式项目、服务加数据库
更高配置 4核8G起 以官网实时信息为准 微服务、高并发业务

大陆地域部署对外服务需完成ICP备案,流程约1到3周;内测阶段可用IP加临时端口先跑通。价格以阿里云官网实时信息为准。

三、路线一:部署Spring Boot jar包(主流方式)

Spring Boot内嵌Tomcat,打出的jar包用java命令即可运行,步骤如下:

  1. 安装JDK:通过yum或apt安装openjdk,或上传Oracle JDK解压配置环境变量,版本需与项目编译版本匹配;
  2. 上传jar包:本地执行mvn package打包后,用scp或SFTP工具把jar包传到服务器目录,例如/opt/app;
  3. 启动验证:执行类似nohup java -jar app.jar --server.port=8080 > app.log 2>&1 &的命令,tail日志确认启动成功;
  4. 进程守护:更推荐写一个systemd服务文件,设置开机自启与崩溃自动重启,常用JVM参数如-Xms、-Xmx也在这里指定,一般把堆内存上限设为物理内存的一半左右;
  5. 安全组放行:在阿里云控制台安全组中放行应用端口,或在下一步统一走Nginx。

四、路线二:部署传统war包到Tomcat

老项目或课程作业常以war包交付:

  1. 安装JDK与Tomcat,注意Tomcat版本与Servlet规范对应;
  2. 把war包放入Tomcat的webapps目录,启动Tomcat后自动解压部署;
  3. 修改server.xml或使用独立context配置数据库连接与端口;
  4. 通过公网IP加8080端口访问验证,再按需改回80端口或交由Nginx转发。

五、Nginx反向代理与域名上线

无论哪种路线,生产环境都建议加一层Nginx:

  1. 安装Nginx并配置server块,将80、443请求proxy_pass到本机应用端口;
  2. 申请免费SSL证书,配置HTTPS并强制跳转;
  3. 域名解析A记录指向服务器IP,大陆地域域名需已完成ICP备案;
  4. 安全组只保留80、443、22端口,应用端口从公网收口,安全性大幅提升。

部署后的运维习惯

Java项目的稳定性一半靠部署,一半靠习惯:日志要按天切割,避免单个日志文件膨胀到几个G拖垮磁盘;发布前先在测试环境验证数据库变更脚本;配置文件与代码分开管理,敏感信息不要写死在项目配置里;每隔一段时间查看JVM垃圾回收情况,发现频繁Full GC就及时调参。这些动作都不复杂,却能挡住绝大多数线上故障。

六、费用估算

项目 参考费用 说明
云服务器 约99元到199元/年 2核2G到2核4G,以官网实时信息为准
JDK与Tomcat 0元 开源软件
SSL证书 0元 免费证书即可
ICP备案 0元 大陆地域必须,约1到3周

常见问题

问:jar包和war包部署选哪个? 答:新项目一律推荐Spring Boot jar加systemd守护;老项目受框架限制用war加Tomcat即可,两者可以共存。

问:2核2G能跑Java项目吗? 答:单个轻量服务可以,建议JVM堆上限控制在1G左右;生产环境建议2核4G起步。

问:服务莫名挂掉怎么办? 答:先看应用日志与系统内存,排查是否OOM;配置systemd自动重启可保证可用性,根因靠日志定位。

问:需要装宝塔面板吗? 答:可选。宝塔对Java项目管理支持一般,命令行加systemd是更主流的Java部署方式。

问:Docker部署Java项目值得吗? 答:值得。写好Dockerfile后环境一致、迁移方便,阿里云服务器上安装Docker后一条命令即可运行。

问:服务器重启后Java服务要手动启动吗? 答:如果只用了nohup就会这样。建议配置systemd服务文件,设置开机自启与异常自动重启,一劳永逸。

问:项目更新怎么发布新版本? 答:规范做法是新jar包上传后先停旧进程、备份旧版本再启动新版本,出问题可秒级回滚;配合简单的发布脚本可以把这套动作自动化。

问:日志文件越来越大怎么办? 答:在应用或日志框架中配置按天滚动与自动清理,保留最近两周左右即可;服务器上也可以用定时任务压缩归档历史日志。

问:多个Java服务能跑在同一台服务器上吗? 答:可以,用不同端口加systemd分别守护即可,但内存要按服务数量预留,建议每增加一个服务多规划1G内存。

行动建议

Java项目部署的要点就三件:内存给够、进程守护、Nginx收口。建议先去阿里云官网活动页查看ECS实时价格,先领券再下单,2核4G活动价通常在百元级,跑Java更稳;备案在开发期同步办理,不耽误上线节奏。价格以阿里云官网实时信息为准。

阿里云新用户专享优惠
爆款云服务器 99元/年起 · 代金券免费领 · 个人建站/学习/企业上云均适用
查看实时活动价格
活动价格以阿里云官网实时页面为准,通过本站链接注册购买可享新用户优惠

继续阅读