如何在 Linux 中为 Systemctl 中的 Keycloak Quarkus 设置启动脚本(最高版本 17、18 或 19)

问题描述 投票:0回答:2

如何在 Linux 中为 Keycloak Quarkus 版本 17、18 或 19 设置启动脚本,以便将 KeyCloak 作为守护进程运行。实际上我并不是在寻找 KeyCloak Wildfly 解决方案!

我已经找到了这个解决方案:

./kc.sh start-dev > keycloak.stdout 2>&1 & echo "$!" > keycloak.pid

用于使用 PID 启动 KeyCloak

如何构建 systemctl 格式的启动脚本?

提前致谢。

linux keycloak
2个回答
2
投票

以下配置对我有用。

1.) 使用数据库配置keycloak:首先是mysql

kc.sh build --db mysql

2.) 将环境变量插入到系统上相应的 keycloak 用户

KEYCLOAK_HOME=/opt/keycloak
export PATH=$PATH:$KEYCLOAK_HOME/bin

3.) 在 /usr/lib/systemd/system 中创建一个 systemd 启动-停止脚本,名为:keycloak.service。

[Unit]
Description=keycloak service
After=network.service

[Service]
ExecStart=/opt/keycloak/bin/kc.sh start
PIDFile=/var/run/keycloak.pid

[Install]
WantedBy=multi-user.target

ExecStart 定义 kc.sh 脚本的完整路径。

运行:systemctl daemon-reload 以启用新的启动脚本

此后,您可以像 charme 一样启动/停止 Quarkus 从版本 17 开始的 keycloak:

systemctl start keycloak

0
投票

我正在尝试,但结果是:

[root@auth bin]# systemctl start keycloak
Job for keycloak.service failed because the control process exited with error code.
See "systemctl status keycloak.service" and "journalctl -xeu keycloak.service" for details.
[root@auth bin]# systemctl status keycloak
× keycloak.service - Keycloak Server
     Loaded: loaded (/etc/systemd/system/keycloak.service; enabled; preset: disabled)
     Active: failed (Result: exit-code) since Tue 2024-05-21 18:49:19 -03; 3s ago
   Duration: 3ms
    Process: 257013 ExecStart=/opt/keycloak/bin/kc.sh start (code=exited, status=203/EXEC)
   Main PID: 257013 (code=exited, status=203/EXEC)
        CPU: 1ms

mai 21 18:49:19 auth.domain.com systemd[1]: Starting Keycloak Server...
mai 21 18:49:19 auth.domain.com systemd[257013]: keycloak.service: Failed to locate executable /opt/keycloak/bin/kc.sh: Permission denied
mai 21 18:49:19 auth.domain.com systemd[257013]: keycloak.service: Failed at step EXEC spawning /opt/keycloak/bin/kc.sh: Permission denied
mai 21 18:49:19 auth.domain.com systemd[1]: keycloak.service: Main process exited, code=exited, status=203/EXEC
mai 21 18:49:19 auth.domain.com systemd[1]: keycloak.service: Failed with result 'exit-code'.
mai 21 18:49:19 auth.domain.com systemd[1]: Failed to start Keycloak Server.

这很疯狂,因为权限:

-rwxrwxrwx。 1 钥匙斗篷 钥匙斗篷 5,9K 五月 21 18:29 kc.sh

我正在使用 Rock Linux 9.4

© www.soinside.com 2019 - 2024. All rights reserved.