Spring Boot init.d无法运行(进程未找到)

3
我尝试遵循这里的指示,将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应用程序”,我不太明白这一点。我通过Jenkins将可执行的jar文件复制到了/var/myapp。因此,它只包含一个jar文件。这会造成问题吗?
欢迎提出任何建议。
环境:
springBootVersion = '1.3.2.RELEASE'
JDK6 (yes it is)
Ubuntu 12.04

您的应用程序尚未注册为服务。因此,您可以使用service命令来检查应用程序的状态。有关更多信息,请查看此线程https://dev59.com/I2865IYBdhLWcg3wOb9h - Pradeep Kr Kaushal
谢谢回复,但我还是没有弄明白。我需要写额外的脚本吗?在我引用的Spring文档链接中没有提到。那么我应该在哪里使用 $nohup java -jar program.jar & 这个命令? - Sasi Kathimanda
1
实际上,Spring文档并不是非常明确。当使用“service”时,您还需要执行“systemctl”的步骤。Debian的官方文档对于“service”命令更清晰:https://wiki.debian.org/systemd/Services 使用Spring文档:https://docs.spring.io/spring-boot/docs/current/reference/html/deployment.html#deployment-install - Netsab612
3个回答

8
有时候,您可能需要运行以下命令:sudo systemctl daemon-reload,以便加载新的服务。请注意,该命令必须按照格式正确书写,并且不要删除其中的html标签。

1

我已经跟随我提出问题时的相同链接并完成了 55.1.1 部分,但问题仍然存在,可能是我漏掉了什么。 - Sasi Kathimanda
启动失败 - Sasi Kathimanda
当我尝试使用“service myapp start”命令启动应用程序时,应用程序没有启动。因此,我无法获取应用程序日志。 - Sasi Kathimanda
1
请检查您是否在/var/log/myapp.log或安装此应用程序的目录中有日志记录。还要检查您是否具有运行应用程序的权限。 - marok
它说 start-stop-daemon:未识别的选项 '--no-close'。 - Sasi Kathimanda
显示剩余4条评论

1
在Ubuntu中,您需要使用sudo systemctl daemon-reload重新加载守护程序。

1
[Ctrl + C] 和 [Ctrl + V] 不是解决方案,它只是一个复制上面的答案 - xKobalt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接