【问题标题】:How can I install keycloak as a service, so it starts automatically?如何将 keycloak 安装为服务,使其自动启动?
【发布时间】:2019-11-24 20:25:39
【问题描述】:

我已将 Wildfly 10.0 作为服务安装,我运行了 service.bat 文件,但我也需要 keyloak 作为服务。如果我运行 keycloak 的 service.bat 文件,它会显示:

错误:服务 Wildfly 已存在。

我的keycloak版本是3.3.0,所以基本上keycloak的服务想安装wildfly作为服务,还是看不懂。

【问题讨论】:

    标签: service windows-services wildfly keycloak


    【解决方案1】:

    编辑:使用NSSM - the Non-Sucking Service Manager找到了更好的解决方案

    本来不想使用额外的工具,但它只有324 KB大小,非常简单高效。

    install.bat

    nssm.exe install "Keycloak" "keycloak/run.bat"
    nssm.exe set "Keycloak" AppDirectory "keycloak/"
    nssm.exe set "Keycloak" Description "Keycloak Identity and Access Management"
    

    我使用单独的 run.bat,如果配置发生变化(例如端口),我可以修改 run.bat 而不是重新安装服务。

    keycloak/run.bat

    bin/standalone.bat -Djboss.http.port=8180
    

    结束编辑


    在 Keycloak 9.0.0 版中,我必须复制以下目录:

    keycloak/docs/contrib/scripts/service

    keycloak/bin/service

    以管理员权限打开 CMD,导航到新目录 keycloak/bin/service 并执行以下命令:

    服务安装 /name Keycloak /display Keycloak /desc "Keycloak 服务”/启动

    这应该可以解决您与“Wildfly”服务名称的冲突。

    然后使用控制台添加一个新用户:keycloak/bin/add-user.bat

    登录http://localhost:9990/,找到keycloak部署http://localhost:8080/auth/(端口在keycloak/standalone/configuration/standalone.xml中配置):

    【讨论】:

      【解决方案2】:

      服务脚本的确切语法取决于您使用的操作系统。在 Windows 上,您可以包含一个 name 参数来更改已安装服务的名称:

      .\service.bat install /name Keycloak
      

      【讨论】:

        【解决方案3】:

        从 Windows 上的 Keycloak 12 开始

        复制[keycloak 安装目录]\docs\contrib\scripts\service 到[keycloak 安装目录]\bin

        [keycloak 安装目录]\bin\service 运行

        service.bat /name keycloak /display Keycloak /desc "Keycloak Http Server"
        

        【讨论】:

          【解决方案4】:

          Wildfly 是用于创建服务的默认名称。您可以更改 service.bat 文件中的默认值。在执行service install之前,在文件中查找以下条目并根据需要进行更新。

          rem defaults
          set SHORTNAME=Wildfly
          rem NO quotes around the display name here !
          set DISPLAYNAME=WildFly
          rem NO quotes around the description here !
          set DESCRIPTION=WildFly Application Server
          

          【讨论】:

            【解决方案5】:

            要将 Keycloak 10 作为 Windows 服务安装,我按照以下步骤操作(根据需要更改路径!):

            1. 在 C:\tools\keycloak-10.0.2\bin\standalone.bat 中添加这些行

              设置 JAVA_HOME=C:\tools\openjdk-15_windows-x64\jdk-15
              设置 JBOSS_HOME=C:\tools\keycloak-10.0.2

            (我不太喜欢这个,但我不希望在系统或帐户级别进行此设置)

            1. 以管理员身份打开 cmd ([WINDOWS]+R, cmd, [CTRL][SHIFT][ENTER])

              cd C:\tools\keycloak-10.0.2

              md bin\服务

              xcopy /s docs\contrib\scripts\service\ bin\service

              cd bin\服务

              service.bat install /name keycloak /display Keycloak /startup

              net start keycloak

            要卸载,你可以这样做

            service.bat /uninstall /name keycloak

            附:跑过 “WFLYSRV0239:使用退出代码 1 中止https://access.redhat.com/solutions/3712111

            解决方案:确保运行该服务的 Windows 用户可以访问和读写 JBOSS_HOME。

            【讨论】:

              猜你喜欢
              • 2013-07-24
              • 1970-01-01
              • 2016-02-24
              • 2017-08-26
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多