日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

wildfly 21的配置文件和资源管理

發布時間:2024/2/28 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 wildfly 21的配置文件和资源管理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 簡介
  • wildfly的配置文件
    • extensions
    • profile
    • path
    • interface
    • socket-binding
    • management
  • 資源管理
  • 總結

簡介

在上一篇文章我們介紹了wildfly 21的基本使用和管理界面。今天我們將會詳細講解一下wildfly的配置文件和資源管理。

wildfly的配置文件

不管是在standalone還是在domain模式下,有兩個配置文件是非常重要的,他們是standalone.xml和domain.xml。

其他的standalone-*.xml可以參考standalone.xml來配置

我們看下standalone.xml的大體結構:

<server xmlns="urn:jboss:domain:14.0"> <extensions> ... </extensions> <management> ... </management> <profile> ... </profile> <interfaces>... </interfaces> <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">... </socket-binding-group> </server>

server主要有5部分,分別是extensions,management,profile,interfaces和socket-binding-group。

extensions

extensions表示的是核心應用程序之外的module。因為有了這些外部的module,所以wildfly核心應用程序是非常簡單和輕量級的。

這些外部的module是放在modules文件夾的。我們可以通過使用extension標簽來引用他們:

<extensions>[...]<extension module="org.jboss.as.transactions"/><extension module="org.jboss.as.webservices" /><extension module="org.jboss.as.weld" />[...]<extension module="org.wildfly.extension.undertow"/> </extensions>

profile

profile是由多個subsystem組成的。subsystem是通過extension添加到核心服務器的一組新增的功能。

我們看一個profile和subsystem的例子:

<profile><subsystem xmlns="urn:jboss:domain:logging:8.0"><console-handler name="CONSOLE"><level name="INFO"/><formatter><named-formatter name="COLOR-PATTERN"/></formatter></console-handler><periodic-rotating-file-handler name="FILE" autoflush="true"><formatter><named-formatter name="PATTERN"/></formatter><file relative-to="jboss.server.log.dir" path="server.log"/><suffix value=".yyyy-MM-dd"/><append value="true"/></periodic-rotating-file-handler><logger category="com.arjuna"><level name="WARN"/></logger><logger category="io.jaegertracing.Configuration"><level name="WARN"/></logger><logger category="org.jboss.as.config"><level name="DEBUG"/></logger><logger category="sun.rmi"><level name="WARN"/></logger><root-logger><level name="INFO"/><handlers><handler name="CONSOLE"/><handler name="FILE"/></handlers></root-logger><formatter name="PATTERN"><pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/></formatter><formatter name="COLOR-PATTERN"><pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/></formatter></subsystem> </profile>

上面的代碼配置了一個jboss:domain:logging,設置了日志的格式,日志級別等信息。

基本上domain.xml和standalone.xml中的profile的內容是一樣的,不同的是domain.xml中可以配置多個profile,而standalone.xml只能有一個profile。

path

在上面的日志配置中,我們在periodic-rotating-file-handler 中使用了 file的path屬性。需要在path屬性中指定日志文件的位置。

<file relative-to="jboss.server.log.dir" path="server.log"/>

這里我們使用的是server.log,實際上wildfly中有很多內置的path變量:

  • jboss.home.dir - WildFly的root目錄

  • user.home - 用戶的home目錄

  • user.dir - 用戶的當前工作目錄

  • java.home - java安裝目錄

  • jboss.server.base.dir - server實例的root目錄

  • jboss.server.config.dir - server實例的配置文件目錄

  • jboss.server.data.dir - server實例的數據目錄

  • jboss.server.log.dir - server實例的日志目錄

  • jboss.server.temp.dir - server實例的temp目錄

  • jboss.controller.temp.dir - controller實例的temp目錄

  • jboss.domain.servers.dir - 在managed domain模式下,host controller為servers創建的工作目錄

除了最上面的5個路徑之外,用戶可以自定義或者重寫其他的內置路徑:

<path name="example" path="example" relative-to="jboss.server.data.dir"/>

其中name表示的是path的名字,path是路徑的值,如果沒有relative-to就是絕對路徑,帶上relative-to就是相對路徑。

relative-to表示的是相對路徑的基準。

上面的格式只能在standalone.xml文件中使用。如果要在domain.xml中使用則必須下面的格式:

<path name="x"/>

這里的name只是對host.xml文件中的path定義的一個引用:

<path name="x" path="/var/x" />

interface

iterface表示的是網絡接口,可以是hostname也可以是IP地址,是給后面的sockets綁定使用的。

我們看一個interface的例子:

<interfaces><interface name="management"><inet-address value="${jboss.bind.address.management:127.0.0.1}"/></interface><interface name="public"><inet-address value="${jboss.bind.address:127.0.0.1}"/></interface></interfaces>

同樣的,如果是在domain.xml中的interface標簽只能包含name屬性:

<interface name="internal"/>

這個引用是定義在host.xml中的。

socket-binding

socket-binding定義的是網絡的出口,通過指定綁定的ip和接口,最終可通過該地址來訪問相應的服務:

<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}"><socket-binding name="ajp" port="${jboss.ajp.port:8009}"/><socket-binding name="http" port="${jboss.http.port:8080}"/><socket-binding name="https" port="${jboss.https.port:8443}"/><socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/><socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/><socket-binding name="txn-recovery-environment" port="4712"/><socket-binding name="txn-status-manager" port="4713"/><outbound-socket-binding name="mail-smtp"><remote-destination host="${jboss.mail.server.host:localhost}" port="${jboss.mail.server.port:25}"/></outbound-socket-binding></socket-binding-group>

上面的例子中,我們定義了ajp,http,https的地址,并且還有幾個管理端,事務,郵件的地址。

注意,我們有一個屬性叫做port-offset,這個可以設置標準接口的偏移量,特別方便在標準接口被占用的情況下使用。

比如,我們默認的http端口是8080,如果這個端口已經被占用了,那么我們可以傳入一個port-offset= 100,這樣http端口就變成了8180,非常方便。

management

management是對wildfly管理端的配置,我們知道可以通過wildfly的web端或者cli端進行wildfly的管理。

我們看下management的定義:

<management><security-realms><security-realm name="ManagementRealm"><authentication><local default-user="$local" skip-group-loading="true"/><properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/></authentication><authorization map-groups-to-roles="false"><properties path="mgmt-groups.properties" relative-to="jboss.server.config.dir"/></authorization></security-realm></security-realms><audit-log><formatters><json-formatter name="json-formatter"/></formatters><handlers><file-handler name="file" formatter="json-formatter" path="audit-log.log" relative-to="jboss.server.data.dir"/></handlers><logger log-boot="true" log-read-only="false" enabled="false"><handlers><handler name="file"/></handlers></logger></audit-log><management-interfaces><http-interface security-realm="ManagementRealm"><http-upgrade enabled="true"/><socket-binding http="management-http"/></http-interface></management-interfaces><access-control provider="simple"><role-mapping><role name="SuperUser"><include><user name="$local"/></include></role></role-mapping></access-control></management>

上面的例子中,我們通過management-interfaces指定了管理端的訪問地址,和要使用到的安全策略。

在security-realms中,我們可以定義多種security-realm。在security-realm中可以定義用戶信息和group信息。

資源管理

wildfly提供了兩種資源管理的方式,一種就是通過web端http://host:9990/console ,一種就是通過命令行:

./bin/jboss-cli.sh You are disconnected at the moment. Type 'connect' to connect to the server or 'help' for the list of supported commands. [disconnected /][disconnected /] connect [standalone@localhost:9990 /]

web端大家應該都很清楚怎么使用,這里重點介紹一下命令行端的使用情況。

我們通過help --commands可以拿到命令行狀態下可以執行的命令:

attachment deployment enable-all module security enable-http-auth-http-server batch deployment info patch apply security enable-http-auth-management cd deployment list patch history security enable-sasl-management clear deployment undeploy patch info security enable-ssl-http-server command deployment undeploy-cli-archive patch inspect security enable-ssl-management command-timeout deployment-info pwd security reorder-sasl-management connect deployment-overlay quit set connection-info echo read-attribute shutdown data-source echo-dmr read-operation try deploy for reload undeploy deployment deploy-cli-archive grep run-batch unset deployment deploy-file help security disable-http-auth-http-server version deployment deploy-url history security disable-http-auth-management xa-data-source deployment disable if security disable-sasl-management deployment disable-all jdbc-driver-info security disable-ssl-http-server deployment enable ls security disable-ssl-management

除此之外,命令行還對資源提供了一系列的操作符來對資源進行操作。

在wildfly中,可管理的對象都被看做是一個一個的資源,我們可以通過資源的路徑來訪問到這個資源。

比如,我想看一下server下面名字是default-server的資源,則可以這樣:

/server=default-server

資源路徑可以連寫,比如:

/subsystem=undertow/server=default-server/http-listener=default

這些都是有效的資源路徑。

有了資源路徑,我們還需要提供操作符來對資源進行操作,wildfly提供了下面的操作符:

addread-attributeread-children-namesread-children-resourcesread-children-typesread-operation-descriptionread-operation-namesread-resourceread-resource-descriptionremovevalidate-addresswrite-attribute

我們可以在操作符前面加上冒號,來具體使用他們:

/subsystem=logging:read-operation-names

上面的例子將會獲取對logging子系統的操作符:

{"outcome" => "success","result" => ["add","list-add","list-clear","list-get","list-log-files","list-remove","map-clear","map-get","map-put","map-remove","query","read-attribute","read-attribute-group","read-attribute-group-names","read-children-names","read-children-resources","read-children-types","read-log-file","read-operation-description","read-operation-names","read-resource","read-resource-description","remove","undefine-attribute","whoami","write-attribute"] }

總結

本文講解了wildfly的配置文件和資源管理相關的操作,希望大家能夠喜歡。

本文作者:flydean程序那些事

本文鏈接:http://www.flydean.com/wildfly-config-resource/

本文來源:flydean的博客

歡迎關注我的公眾號:「程序那些事」最通俗的解讀,最深刻的干貨,最簡潔的教程,眾多你不知道的小技巧等你來發現!

總結

以上是生活随笔為你收集整理的wildfly 21的配置文件和资源管理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。