我正在尝试在Linux服务器上的生产环境中部署springboot独立应用程序。我正在尝试使用开箱即用的tomcat服务器。
'java -jar jarname.jar'
这很好用,但是如果我关闭腻子会话,则应用程序不会被取消。
现在我用
'nohup java -jar jarname.jar&'
这很好,即使关闭腻子会话也不会关闭我的应用程序。但是在这种情况下,日志将无法正确滚动(我已将log4j配置为每天创建一个新的日志文件)。所以想知道这是否是正确的方法。
我已经搜索了几个文档,但是找不到针对此问题的正确解决方案。 请帮忙。
谢谢
答案 0 :(得分:0)
我认为最好使用Linux服务来运行应用程序,您可以在此处阅读example
如果要收集日志,最好将它们写到文件中。 Spring提供了内置的机制来实现这一目标
logging:
level:
root: INFO
file:
clean-history-on-start: false
max-history: 7
max-size: 10MB
name: some-name
path: /path/log/dir
total-size-cap: 0B
答案 1 :(得分:0)
为什么不将其打包到Docker映像中并在服务器上运行?
以下是一些想法:
https://medium.com/swlh/deploying-spring-boot-applications-15e14db25ff0
答案 2 :(得分:0)
您可以以jar形式运行spring boot应用程序,但是您需要创建一个服务,以便可以将daemon作为守护程序执行。
https://dzone.com/articles/run-your-java-application-as-a-service-on-ubuntu
以此,您可以像这样启动或停止应用程序
$ sudo服务myspringbootapp停止
$ sudo服务myspringbootapp启动