【发布时间】:2020-09-11 20:04:47
【问题描述】:
我有一个 spring boot uber jar,需要在 RHEL 8.2 环境中作为服务运行。
/etc/systemd/system/myapp.service中创建的服务文件就这么简单:
[Unit]
Description=myapp
[Service]
User=appuser
WorkingDirectory=/home/appuser
ExecStart=/usr/bin/java -Xmx256m -jar -Dspring.profiles.active=test /home/appuser/myapp.jar
SuccessExitStatus=143
TimeoutStopSec=10
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
现在,当我尝试使用以下命令启动服务并检查状态时,出现以下错误:
[root@myappdev01 /etc/systemd/system]# sudo systemctl status myapp
myapp.service - myapp
Loaded: loaded (/etc/systemd/system/myapp.service; disabled; vendor preset: disabled)
Active: activating (auto-restart) (Result: exit-code) since Fri 2020-09-11 23:48:26 +04; 5s ago
Process: 273497 ExecStart=/usr/bin/java -jar -Dspring.profiles.active=test /home/appuser/myapp.jar (code=exited, status=1/FAILURE)
Main PID: 273497 (code=exited, status=1/FAILURE)
Sep 11 23:48:26 myappdev01.server systemd[1]: myapp.service: Main process exited, code=exited, status=1/FAILURE
Sep 11 23:48:26 myappdev01.server systemd[1]: myapp.service: Failed with result 'exit-code'.
journatlctl -u myapp.service 也没有多大帮助。
我在这里做错了什么?
【问题讨论】:
-
尝试在 shell 中运行命令“/usr/bin/java -Xmx256m -jar -Dspring.profiles.active=test /home/appuser/myapp.jar”(或现在的任何命令)迅速的。有用吗?
-
是的,这很有趣。该命令在 shell 上运行时有效。
-
会是 SELinux 吗?会不会是某些东西的权限?
-
我不知道。知道我可以尝试什么吗?
-
您知道 SELinux 是否在您的机器上启用/强制执行吗? (我认为它在 RHEL 上默认为“开启”。)
标签: java linux spring-boot systemd