Keycloak服務器安裝和配置

安裝地址:https://www.keycloak.org/archive/downloads-4.4.0.htmlcss

參考文檔:https://www.keycloak.org/docs/latest/server_installation/index.html#guide-overviewhtml

 

解壓文件:
分發目錄結構:

目錄解釋

  • bin: 包含啓動服務和管理操做的腳本
  • domain: 在domain模式下的keycloak的配置文件和工做目錄
  • standalone:包含在standalone模式下的keycloak的配置文件和工做目錄
    後端類庫
  • modules:服務器使用的JAVA庫
    前端展現:
  • themes:服務器顯示的全部css,img
  • welcome-content:服務器顯示的模板和html類文件(實際上使用的是ftl模板)

 

操做模式

Standalone Mode:
Standalone模式僅在您要運行一個且僅運行一個Keycloak服務器實例時纔有用。
該模式下沒法進羣部署,並且沒法使用分佈式緩存。
若是你的服務器運行失敗,用戶將沒法登錄。建議不要在生產環境下面使用該模式。
模式配置:standalone文件夾下的configuration下的standalone.xml來配置。
目前使用standalone模式進行測試。
Standalone Clustered Mode
獨立集羣模式可用於集羣部署。該模式要求在每一個機器擁有keycloak分發的副本。該模式一開始部署很是簡單,但在以後可能變得很是麻煩。
模式配置:
該發行版具備大多數預先配置的應用服務器配置文件,用於在羣集中運行。它具備網絡,數據庫,緩存和發現的全部特定基礎結構設置。若是在羣集中沒有配置共享數據庫鏈接,將沒法運行。同時你應該部署某種類型的負載均衡器。
配置文件爲:standalone-ha
Domain Clustered Mode
域模式是一種集中管理和發佈服務器配置的方法。
隨着羣集規模的擴大,以標準模式運行羣集會很快變得更加嚴重。每次須要進行配置更改時,都要在羣集中的每一個節點上執行此操做。域模式經過提供存儲和發佈配置的中心位置來解決此問題。設置起來可能至關複雜,但最終仍是值得的。此功能內置於Keycloak派生的WildFly 服務器中。
如下是在域模式下運行的一些基本概念。
域控制器
域控制器是一個負責存儲,管理和發佈集羣中每一個節點的常規配置的過程。此過程是集羣中節點獲取其配置的中心點。主控制器主機控制器負責管理特定計算機上的服務器實例。您將其配置爲運行一個或多個服務器實例。域控制器還能夠與每臺計算機上的主機控制器進行交互以管理羣集。爲了減小運行進程的數量,域控制器還充當其運行的計算機上的主機控制器。
域名簡介
域配置文件是一組命名的配置,可供服務器用於引導。域控制器能夠定義不一樣服務器使用的多個域配置文件。
服務器組
服務器組是服務器的集合。它們做爲一個進行管理和配置。您能夠將域配置文件分配給服務器組,該組中的每一個服務都將使用該域配置文件做爲其配置。
在域模式下,域控制器在主節點上啓動。羣集的配置駐留在域控制器中。接下來,在羣集中的每臺計算機上啓動主機控制器。每一個主機控制器部署配置指定將在該計算機上啓動的Keycloak服務器實例數。當主機控制器啓動時,它會啓動與配置完成時同樣多的Keycloak服務器實例。這些服務器實例從域控制器中提取其配置。
Cross-Datacenter Replication Mode

standalone模式下集成MYSQL

1.建立keycloak數據庫
2.在keycloak目錄,建立紅色路徑 ..\keycloak 4.4.0.Final\modules\system\layers\base\com\mysql\main
3.下載MySQL 驅動並複製到上面路徑
4.添加Module.xml文件在該目錄下
<?xml version="1.0" ?>
<module xmlns="urn:jboss:module:1.3" name="com.mysql">
<resources>
<resource-root path="mysql-connector-java-5.1.40.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>

  

5.修改standalone.xml文件:
找到: <subsystem xmlns="urn:jboss:domain:datasources:5.0">

添加DataSource:前端

<datasource jndi-name="java:jboss/datasources/KeycloakDS" pool-name="KeycloakDS" use-java-context="true">
                        <connection-url>jdbc:mysql://localhost:3306/keycloak?useSSL=false&tcpRcvBuf=102400000</connection-url>
                        <driver-class>com.mysql.jdbc.Driver</driver-class>    
                        <driver>mysql</driver>
                        <security>
                            <user-name>root</user-name>
                            <password>root</password>
                        </security>
</datasource>
<drivers>
                    <driver name="mysql" module="com.mysql">
                    <!-- <driver-class>com.mysql.jdbc.Driver</driver-class>     -->
                        <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
                    </driver>

</drivers>

  在/bin目錄下啓動standalone.bat。java

相關文章
相關標籤/搜索