我在Digital Ocean上有Ubuntu服务器,我写了Spring网络应用程序,现在我想把它投入生产。
我通过FTP将其上传到服务器,然后通过Putty打开我的控制台,我使用此命令:
.limit
Spring之后就开始了,当我打开我的网络应用程序时,一切正常,但当我关闭我的Putty会话时,我的Spring网络应用程序不再起作用了。似乎当我关闭我的Putty会话时,Spring Web应用程序也关闭了。
如何解决这个问题?
答案 0 :(得分:3)
虽然建议的KLHauser会起作用,但如果vm在云中重新启动(发生这种情况),您的应用程序将不会自动重启。使用kill -9
停止您的应用程序也容易出错并且很危险,因为您可能会意外杀死错误的进程。
请参阅Spring Boot文档的“作为Linux服务运行”部分,了解如何执行此操作。
如果你已经配置了Spring Boot的Maven或Gradle插件来生成 一个完全可执行的jar,你没有使用自定义
embeddedLaunchScript
,那么您的应用可以用作init.d
服务。只需将jar符号链接到init.d
即可支持该标准 启动,停止,重启和状态命令。该脚本支持以下功能:
- 以拥有jar文件的用户
启动服务- 曲目 应用程序的PID使用/var/run//.pid
- 写入 控制台记录到/var/log/.log
假设您安装了Spring Boot应用程序
/var/myapp
,将Spring Boot应用程序安装为init.d服务 只需创建一个符号链接:
$ sudo ln -s /var/myapp/myapp.jar /etc/init.d/myapp
安装完成后, 您可以通常的方式启动和停止服务。例如,在a 基于Debian的系统:
$ service myapp start
答案 1 :(得分:2)
只需使用java -jar name.jar &
,即可在新流程线程中启动应用程序。
通过直接在最后添加> log.txt
,您也会有一个日志。