【问题标题】:Spring Boot init.d not Not running (process not found)Spring Boot init.d 未运行(未找到进程)
【发布时间】:2016-03-07 02:14:43
【问题描述】:

我尝试按照 here 的说明操作,尝试将 Spring Boot 应用程序作为 init.d 服务运行,但未能成功。

如前所述,我创建了完全可执行的 jar (myapp.jar),并创建了指向 /etc/init.d/myapp 的符号链接。当我运行 java -jar myapp.jar 我可以看到应用程序成功启动。

但是当我尝试使用时

service myapp status 上面写着Not running (process not found)

service myapp start 上面写着Failed to start

文档说“假设您在 /var/myapp 中安装了 Spring Boot 应用程序”我不太明白这一点。我将可执行 jar(通过 Jenkins)复制到 /var/myapp。所以它只包含一个jar文件。这会造成问题吗?

欢迎提出任何建议。

环境:

springBootVersion = '1.3.2.RELEASE'
JDK6 (yes it is)
Ubuntu 12.04

【问题讨论】:

  • 您的应用程序尚未注册为服务。因此,您可以使用 service 命令来检查应用程序的状态。有关更多信息,请查看此线程 stackoverflow.com/questions/3922554/…
  • 感谢您的回复。但我仍然没有做对。我需要为它编写额外的脚本吗?我引用的spring doc链接中没有提到。那么我应该在哪里使用 $nohup java -jar program.jar & this?
  • 其实spring doc不是很明确。使用“服务”时,您还需要执行“systemctl”的步骤。 Debian“服务”命令的官方文档更清晰:wiki.debian.org/systemd/Services 使用spring文档:docs.spring.io/spring-boot/docs/current/reference/html/…

标签: java linux spring spring-boot ubuntu-12.04


【解决方案1】:

有时,您可能需要运行:sudo systemctl daemon-reload 才能加载新服务。

【讨论】:

    【解决方案2】:

    【讨论】:

    • 我已经在我的问题中关注了相同的链接并完成了 55.1.1 部分。但问题仍然存在,可能我遗漏了一些东西
    • 执行 service myapp start 的结果是什么?
    • "Failed to start" ,正如我在问题中提到的那样
    • 看看你的应用程序的日志就会有原因
    • 您能否检查您是否在 /var/log/myapp.log 或您安装此应用程序的目录中有日志。还要检查您是否有权运行应用程序。
    【解决方案3】:

    在 ubuntu 中,您需要使用 sudo systemctl daemon-reload 重新加载守护进程

    【讨论】:

    猜你喜欢
    • 2019-12-10
    • 2018-01-22
    • 2021-06-24
    • 2018-08-26
    • 2016-08-20
    • 2020-04-19
    • 2021-05-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多