首页 > 解决方案 > 我们不能在tomcat下的aws服务器上部署多个spring boot应用程序吗?

问题描述

我有 3 个 Spring Boot 应用程序,并希望全部部署在单个 EC2 实例上。

当我尝试在 tomcat/webapps 下部署 war 和部署时,某些应用程序将无法工作,因为 spring boot 中的嵌入式 tomcat 使用端口 8080,而 tomcat 中存在的其他 web 应用程序停止工作。

我尝试过的其他选项是使用 java -jar app.jar 更改运行 jar 的 application.properties 文件中的 server.port。

如果我想运行一个应用程序并且如果我按 cntrl+c 或 cntrl+z 或关闭终端(关闭 ssh 连接)正在停止应用程序,这仅适用于一个应用程序。

当我在搜索过程中发现我们可以使用 AWS Elastic Beanstalk 进行操作时。但我已经创建了一个免费层级 ec2 实例,有什么方法可以让它在不更改实例的情况下工作。

有人可以帮我吗?谢谢

标签: amazon-web-servicesspring-boottomcatamazon-ec2

解决方案


如果您想使用 java -jar app.jar添加&到最后允许进程在后台运行来运行您的应用程序。

使用该命令java -jar app.jar &,您可以在后台运行多个应用程序。这将返回一个 pid “进程 ID”

您可以稍后使用此 pid 杀死应用程序kill -9 <pid>

要检查您可以使用的正在运行的进程ps aux | grep java(我们正在搜索包含“java”的任何内容)

为了在 tomcat 上运行多个战争,将多个应用程序显式部署到 Tomcat


推荐阅读