当前位置: 首页 > 知识库问答 >
问题:

systemd:添加logback后无法启动Spring boot

茅才
2023-03-14

我使用systemd服务运行spring boot应用程序:

[Unit]
Description=Spring Boot 2333 application
After=syslog.target

[Service]
WorkingDirectory=/var/springboot/online_ticket
User=java-webapp-daemon
ExecStart=/usr/lib/jvm/java-11-openjdk-amd64/bin/java -jar myapp.utility-0.0.1-SNAPSHOT.jar
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

在我添加logback-spring.xml生成日志文件之前,它运行良好:

<property name="LOGS" value="./logs" />
<appender name="RollingFile"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${LOGS}/spring-boot-logger.log</file>
    <encoder
        class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <Pattern>%d %p %C{1.} [%t] %m%n</Pattern>
    </encoder>

    <rollingPolicy
        class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- rollover daily and when the file reaches 10 MegaBytes -->
        <fileNamePattern>${LOGS}/archived/spring-boot-logger-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
        <MaxHistory>5</MaxHistory>
        <timeBasedFileNamingAndTriggeringPolicy
            class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <maxFileSize>10MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>
</appender>

现在服务无法启动。“systemctl status-l myapp”没有显示任何有用的提示:

myapp.service - Spring Boot 2333 application
   Loaded: loaded (/etc/systemd/system/myapp.service; disabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2020-02-13 15:33:02 +08; 1min 40s ago
  Process: 21440 ExecStart=/usr/lib/jvm/java-11-openjdk-amd64/bin/java -jar myapp.utility-0.0.1-SNAPSHOT.jar (code=exited, status=1/FAILURE)
 Main PID: 21440 (code=exited, status=1/FAILURE)
      CPU: 2ms

Feb 13 15:33:02 filesrv1 systemd[1]: Started My Spring Boot 2333 application.
Feb 13 15:33:02 filesrv1 systemd[1]: myapp.service: Main process exited, code=exited, status=1/FAILURE
Feb 13 15:33:02 filesrv1 systemd[1]: myapp.service: Unit entered failed state.
Feb 13 15:33:02 filesrv1 systemd[1]: myapp.service: Failed with result 'exit-code'.

journalctl-uMyApp。服务:

Feb 14 11:19:37 filesrv1 systemd[1]: Started My Spring Boot 2333 application.
Feb 14 11:19:37 filesrv1 systemd[1]: myapp.service: Main process exited, code=exited, status=1/FAILURE
Feb 14 11:19:37 filesrv1 systemd[1]: myapp.service: Unit entered failed state.
Feb 14 11:19:37 filesrv1 systemd[1]: myapp.service: Failed with result 'exit-code'.
~
~
 ESCOC
08. --

 code=exited, status=1/FAILURE
state.
exit-code'.

但是,如果我用命令java-jar手动运行jar,它就可以启动了

我还使用“chown java-webapp-daemon: java-webapp-daemon logs”更改了日志文件夹所有者,但没有帮助。

如何解决这个问题?

共有1个答案

岳茂
2023-03-14

 类似资料:
  • 我有一个spring boot可执行罐,装在数字海洋水滴中。我可以使用现在我想让我作为一个服务运行。 我已经创建了文件/etc/systemd/system/myapp。用这些内容服务 然后使其在系统启动时启动 我正在尝试启动服务 但是我得到了这个错误 无法启动myapp.service:未知单位:myapp.service详情请参阅系统日志和'systemctl statusmyapp.serv

  • 我正在尝试在亚马逊 Linux EC2 实例上启动Spring启动应用程序即服务。 我将服务打包为: 当我手动启动服务(没有服务)时,它会运行correclty: 信息 [main] 组织.springframework.boot.web.embedded.tomcatWebServer: Tomcat 在端口上启动: 8080 (http) 与上下文路径 '' 信息 [主] 组织.springf

  • 我有以下系统脚本: 运行命令:systemctl start/stop hub工作正常。我还使用systemctl启用集线器创建了符号链接。为什么我的服务在我重新启动整个笔记本电脑后没有启动?我遵循了docker指南,以便Docker在重新启动时启动,但由于某种原因我的容器没有启动。我的脚本中缺少一个字段吗? 我正在使用ExecStart,“/home/hub/hub.sh”脚本的命令是: 重新启

  • 问题内容: 我的日食没有启动,因为我的计算机有点死机了,所以我不得不强制重新启动它。当我不得不重新启动时,Eclipse是打开的,我相信这很可能是原因。我不知道该如何解决。每当我尝试打开它时,它都会告诉我检查工作区中的.log文件,并显示: http://paste.strictfp.com/26579 而且我不知道如何解决它。请帮忙? 问题答案: 您缺少 第125行的 类,您必须重新安装才能解决

  • 问题内容: 我想产生长时间运行的子进程,这些子进程在主进程重新启动/死亡时仍然存在。从终端运行时,这工作正常: 请注意,父进程被杀死后,子进程仍处于活动状态。但是,如果我像这样从systemd启动主进程… …然后当我杀死主要过程时,孩子也死了: 我怎样才能使孩子生存呢? 在CentOS Linux版本7.1.1503(Core)下运行go版本go1.4.2 linux / amd64。 问题答案:

  • iam使用带有kafa整数的jhipsterSpring靴 正在应用中。yml公司 云:流:默认绑定器:kafka函数:定义:memberSupplier;成员批准供应商;memberEventConsumer;memberApprovalEventConsumer绑定:memberSupplier-out-0:目标:memberEventConsumer-in-0:目标:memberApprov