在 EC2 服务器上将 Java Spring Boot 服务部署到生产环境
Posted
技术标签:
【中文标题】在 EC2 服务器上将 Java Spring Boot 服务部署到生产环境【英文标题】:Deploy Java Spring Boot Services to Production on EC2 Server 【发布时间】:2020-06-17 06:59:55 【问题描述】:我目前是使用 Java 部署的新手,并且对 jar 和 war 感到困惑。 如果有人可以解决我下面的几个问题
我是否需要将我的 jar(Java spring 服务)转换为 war 并部署在 Jboss/Tomcat 上?或者我应该在 prod 服务器上复制我的 jar 并使用 nohup 运行 java -jar "jar name"。
理想的生产部署方法应该是什么?
这是一个企业级应用程序。 有人可以帮助我如何在 EC2 生产服务器中部署 jar 应用程序。
【问题讨论】:
不,你不需要。是的,你可以。创建一个 systemd 守护进程定义和计时器来运行应用程序,这比 nohup 更好 systemd 守护进程定义是什么 你不应该忘记 EC2 实例需要被认为是短暂的,你应该自动化部署 @Marged 你能给我解释一下吗? 【参考方案1】:Spring boot 带有一个内部 tomcat。所以你不需要将它部署在 tomcat 中,也不需要将其转换为战争。
您可以使用 java - jar "jar name" 命令运行它
【讨论】:
但是在生产部署中推荐吗?如果我想进行持续部署,再加上使用 jenkins,并且每次提交都需要终止应用程序正在运行的现有端口并使用命令 java - jar "jar name" 重新启动。 我创建了一个 systemd 服务来启动和停止我的应用程序。所以我只需要执行 systemctl start 或 systemctl stop 你能帮我处理一下 systemd 服务文件吗? 参考此链接。 digitalocean.com/community/tutorials/…以上是关于在 EC2 服务器上将 Java Spring Boot 服务部署到生产环境的主要内容,如果未能解决你的问题,请参考以下文章
在 Spring-boot 上将 Spring Batch 与 spring-batch-admin-manager 集成时出错
在 java 上将 csv 文件加载到 GreenPlum 失败