首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring启动和云部署

Spring启动和云部署
EN

Stack Overflow用户
提问于 2017-08-11 12:36:43
回答 2查看 201关注 0票数 1

我目前正在用Spring引导开发REST。我希望它部署在google云(计算引擎)上。我创建了一个虚拟linux机器,安装了java 8,并将我的spring引导应用程序放入其中。它运行良好,但是:我的应用程序是一个jar文件(嵌入式Tomcat)。我启动它的时候是这样的: java -jar myApp.jar,它运行得很好。但是当我关闭google云上的外壳时,我的应用程序就不再可用了。我希望我的应用程序总是可用的,而不必每次退出外壳时就启动它。有可能吗?

云层图像

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-11 12:50:55

我觉得这是和这个Unix线程一样的问题。

快速回答是,您的过程是连接到终端。当您关闭它时,进程将被终止。如果我引用这个答案的话:

另一方面,nohup所做的是有效地将进程与终端分开:

  • 它关闭标准输入(程序将无法读取任何>输入,即使它在前台运行。它不会停止,但会收到错误代码或EOF)。
  • 它将标准输出和标准错误重定向到文件nohup.out,因此,如果终端失败,程序不会因为写入标准输出而失败,因此进程写入的任何内容都不会丢失。
  • 它阻止进程接收SIGHUP (因此是名称)。

所以,试试

代码语言:javascript
复制
nohup  java -jar myApp.jar &
票数 1
EN

Stack Overflow用户

发布于 2017-08-11 12:46:22

如果您使用虚拟机(),您可以使用脚本( windows中的bat或linux中的sh )来执行java -jar命令,但是您可以使用太容器引擎并使用应用程序创建一个停靠器容器。配置一个dockerfile并进行部署。容器环境自动运行您的应用程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45635432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档