Java 在生产环境中部署.jar文件的正确方法
我是部署新手,我已经将jar文件作为一个包,我应该如何在我的prod服务器中进行部署 我的prod服务器基本上是一台运行在AWS上的EC2机器Java 在生产环境中部署.jar文件的正确方法,java,spring,maven,Java,Spring,Maven,我是部署新手,我已经将jar文件作为一个包,我应该如何在我的prod服务器中进行部署 我的prod服务器基本上是一台运行在AWS上的EC2机器 我应该运行java-jar“jar文件”吗?这是prod服务器的惯用方法吗 我是否应该将.jar文件打包到ear/war并部署到tomcat/jboss服务器中 谢谢你的帮助 这基本上符合您的喜好和您所在地的常规标准。Docker中的服务基本上在entry point.sh脚本的末尾有exec java-jar param…。您可以运行整个Tomcat,
谢谢你的帮助 这基本上符合您的喜好和您所在地的常规标准。Docker中的服务基本上在
entry point.sh
脚本的末尾有exec java-jar param…
。您可以运行整个Tomcat,等等。您描述的两种方法都是有效的
对于在Linux服务器上包含自己的应用服务器(例如Spark、Javalin、Spring Boot)的小型web API,我启动屏幕会话并运行java-jar
。这允许我在不终止程序的情况下退出SSH会话(断开与服务器的连接)
对于不包括应用服务器的其他Spring应用程序,我将代码打包到WAR中,并将其复制到应用服务器的部署目录中。对于Tomcat来说,这就是webapps
。然后,应用服务器可以读取WAR并启动正在运行的实例(假设启用了热部署)
特别是Tomcat还有一个网页,您可以在其中上传WAR文件来部署它。如果您使用的是Spring Boot(这是一个好主意),那么java-jar
非常好-您可以使用嵌入式Tomcat,而不必安装专用的应用程序服务器(或者准确地说,servlet容器).在Jboss服务器中,第二种方法优于第一种方法,因为可以通过控制台轻松完成任务。
您可以控制应用程序在服务器上的部署。
如果您不想在集群的所有服务器上部署jar,那么可以考虑 如果您希望,在Linux中断开SSH连接或关闭终端后,程序仍保持运行状态。您可以使用以下命令:
nohup java -jar file.jar &
不,我不想使用docker,我只是想知道将jar嵌入war/ear并部署在JBoss中是否是行业惯例。您还没有告诉我们您的程序是做什么的。如果它是一个应该一直运行的服务器,那么它的部署方式就不同于应该作为日常批处理作业运行的服务器,或者作为一个交互式工具。是的,它是一个服务器端代码API,必须一直运行,几乎没有数据来回答您的问题。您没有指定您可以使用的基础结构。例如,在prem服务器上部署到k8s、Elastic beanstalk等时,可以选择不同的选项并具有不同的约束。