Springboot独立应用程序在生产中部署

时间:2020-05-28 15:08:16

标签: java linux spring spring-boot

我正在尝试在Linux服务器上的生产环境中部署springboot独立应用程序。我正在尝试使用开箱即用的tomcat服务器。

'java -jar jarname.jar'

这很好用,但是如果我关闭腻子会话,则应用程序不会被取消。

现在我用

'nohup java -jar jarname.jar&'

这很好,即使关闭腻子会话也不会关闭我的应用程序。但是在这种情况下,日志将无法正确滚动(我已将log4j配置为每天创建一个新的日志文件)。所以想知道这是否是正确的方法。

我已经搜索了几个文档,但是找不到针对此问题的正确解决方案。 请帮忙。

谢谢

3 个答案:

答案 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启动