【JAVA】Keycloak 安装搭建(一)

目录

官网地址

系统要求


官网地址

https://www.keycloak.org/

下载地址:https://www.keycloak.org/downloads

系统要求

这些是运行 Keycloak 身份验证服务器的要求:

  • 可以在任何运行 Java 的操作系统上运行

  • Java 8 JDK

  • zip 或 gzip 和 tar

  • 至少 512M 的 RAM

  • 至少 1G 的磁盘空间

  • 一个共享的外部数据库,如 PostgreSQL、MySQL、Oracle 等。如果你想在集群中运行,Keycloak 需要一个外部共享数据库。安装步骤

 安装步骤

示例说明:系统采用腾讯云服务器的centos系统,数据库采用MySQL 

  • 将下载好的包上传到服务器解压,我下载的是 keycloak-15.0.2.tar.gz 解压命令
  • tar -zxvf keycloak-15.0.2.tar.gz
  • 下载连接数据库的驱动,我这边用的是mysql 8.0.16所以需要下载驱动包 mysql-connector-java-8.0.26.jar   下载链接:https://search.maven.org/search?q=g:mysql%20AND%20a:mysql-connector-java
  • 下载后,进入刚刚解压的文件夹,进入目录,命令如下
  • cd keycloak-15.0.2/modules/system/layers/keycloak/com
  • 在此目录创建文件夹 mysql/main 
  • mkdir  -p mysql/main
  • 在文件夹main下面创建以下2个文件
  • mysql-connector-java-8.0.26.jar 上传上去即可
  • module.xml 里面的内容如下
  • <?xml version="1.0" encoding="UTF-8"?>
    <module xmlns="urn:jboss:module:1.3" name="com.mysql">
        <resources>
            <resource-root path="mysql-connector-java-8.0.26.jar"/>
        </resources>
        <dependencies>
            <module name="javax.api"/>
            <module name="javax.transaction.api"/>
        </dependencies>
    </module>
    

    修改数据源设置以使用新的JDBC驱动

  • 在自己的mysql数据库中创建数据库

  • CREATE database keycloak DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;
    
  • 进入目录 keycloak-15.0.2/standalone/configuration  更改文件standalone.xml

  • 寻找drivers标签,默认有一个h2数据库的配置,我们要在同级增加一个mysql的配置。驱动类查看自己版本的数据库对应的类

  • <driver name="mysql" module="com.mysql">
        <xa-datasource-class>com.mysql.cj.jdbc.MysqlXADataSource</xa-datasource-class>
    </driver>
    

    寻找datasources标签,默认此处有两项datasource,我们注释掉名称为KeycloakDS的数据源,并加上mysql的。注意不要把ExampleDS也注释掉,启动会报错的。

  • <datasource jndi-name="java:jboss/datasources/KeycloakDS" pool-name="KeycloakDS" enabled="true" use-java-context="true">
        <connection-url>jdbc:mysql://localhost:3306/keycloak</connection-url>
        <driver>mysql</driver>
        <pool>
            <max-pool-size>20</max-pool-size>
        </pool>
        <security>
            <user-name>root</user-name>
            <password>123456</password>
        </security>
    </datasource>
    
  • 初始化keycloak管理员用户

  • 进入keycloak-15.0.2/bin目录
  • ./add-user-keycloak.sh -r master -u admin -p admin
  • 启动Keycloak  

  • ./standalone.sh -Djboss.socket.binding.port-offset=100 -Djboss.bind.address=0.0.0.0 -Djboss.bind.address.management=0.0.0.0
    
    后台启动
    nohup   ./standalone.sh -Djboss.socket.binding.port-offset=100 -Djboss.bind.address=0.0.0.0 -Djboss.bind.address.management=0.0.0.0 &
    
    
  • -Djboss.socket.binding.port-offset 在默认端口加100 既原8080 >>8180
  • -Djboss.bind.address  绑定启动服务器IP,默认为127.0.0.1,都是127是只能内部网络能访问,所以得改成 0.0.0.0
  • -Djboss.bind.address.management 绑定启动服务器IP,默认为127.0.0.1,都是127是只能内部网络能访问,所以得改成 0.0.0.0
  • 启动完成后,访问  http://xxxx:8180/auth/

 点击这个,要是跳转页面显示 http required...什么的,在创建的数据库执行语句

update REALM set ssl_required='NONE' where id = 'master';

 

 输入admin/admin即可登录了,需要中文页面的话,可以进行汉化

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 以下是一个用Java Swing搭建的简单好玩程序,它可以生成随机的彩虹颜色: ``` java import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class RainbowColorGenerator extends JFrame implements ActionListener { private JPanel panel; private JButton button; public RainbowColorGenerator() { setTitle("Rainbow Color Generator"); setSize(300, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); panel = new JPanel(); button = new JButton("Generate Color"); button.addActionListener(this); panel.add(button); add(panel); setVisible(true); } public static void main(String[] args) { new RainbowColorGenerator(); } @Override public void actionPerformed(ActionEvent e) { Color randomColor = new Color((int)(Math.random() * 256), (int)(Math.random() * 256), (int)(Math.random() * 256)); panel.setBackground(randomColor); } } ``` 程序界面上只有一个按钮,每次点击生成一个随机的彩虹颜色并将背景色设置为该颜色。你可以在此基础上进一步扩展,比如添加更多控件来控制生成颜色的范围或增加动画效果等。 ### 回答2: Java是一种广泛应用于软件开发的高级编程语言,它拥有强大的GUI库,可以用于构建各种好玩的程序。下面我将介绍一个使用Java GUI搭建的好玩的程序。 这个程序是一个简单的猜数字游戏。程序开始时,会随机生成一个1到100之间的整数,然后要求玩家在文本框中输入一个数字进行猜测。玩家的猜测结果会与生成的随机数进行比较,并给出相应的提示信息。 程序的界面主要分为三部分。首先是一个标签,用于显示当前猜测的轮数。然后是一个文本框,用于玩家输入猜测的数字。最后是一个按钮,用于提交猜测结果。当玩家点击按钮后,程序会判断玩家的猜测结果,并给出相应的提示信息,例如“猜测的数字太小了”或“猜测的数字太大了”,并更新标签中的轮数。 此外,程序还可以记录每轮游戏的猜测历史,并在猜对或达到最大轮数后显示。这样玩家可以回顾之前的猜测过程,提高猜测的准确性和效率。 通过这个简单的猜数字游戏,可以锻炼玩家的逻辑思维和数字感知能力,同时也能提供一定的娱乐性。使用Java的GUI库可以轻松实现这个程序,并且可以根据需要进行自定义和扩展。无论是作为一个小游戏还是教学演示,这个程序都可以给人带来一些乐趣。 ### 回答3: Java语言是一种功能强大的编程语言,通过使用Java的GUI(图形用户界面)组件,我们可以搭建出各种有趣的程序。例如,我们可以通过Java的GUI搭建一个简单的俄罗斯方块游戏。 首先,我们需要使用Java的GUI库,如Swing或JavaFX,来创建窗口,并设置其标题和大小。接下来,我们可以使用不同的GUI组件,如按钮、标签和面板,来构建游戏的各个部分。 在俄罗斯方块游戏中,我们可以使用一个面板来显示游戏区域,并在其上绘制方块。通过监听键盘事件,我们可以控制方块的移动和旋转。另外,我们可以使用一个标签来显示得分,一个按钮来开始或重新开始游戏。 为了使游戏更加有趣,我们可以添加一些特殊的功能,如加速下降、消除行、随机生成方块等。我们还可以添加背景音乐和声效来增强游戏体验。 在编写程序时,我们可以使用Java的多线程来实现游戏的逻辑。比如,一个线程可以负责更新游戏区域和判断游戏是否结束,而另一个线程可以负责处理用户输入。 总之,通过使用Java的GUI组件,我们可以轻松地搭建一个有趣的俄罗斯方块游戏。这个游戏不仅可以增加我们的编程能力,还可以给玩家带来乐趣和挑战。希望以上回答对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天空~华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值