Rhythm & Biology

Engineering, Science, et al.

WildFly: ポート番号の変更方法

ポートを変更する方法を何種類か、備忘録

デフォルト

  • HTTPポート: 8080
  • 管理ポート: 9990

起動時にポート番号指定

  • HTTPポート: 18080
  • 管理ポート: 19990
$ ./standalone.sh \
    -Djboss.http.port=18080 \
    -Djboss.management.http.port=19990

起動時にオフセット値指定

オフセット値を指定すると、HTTPポート、管理ポートなど、全てのポート番号がオフセット値ぶんだけ加算されて起動する

同一マシンでWildFly複数立ち上げようとするとポートの衝突が問題になるが、オフセットを利用することで、全ポート番号を指定する必要がなくなる

$ ./standalone.sh -Djboss.socket.binding.port-offset=100

ちなみに、ポート番号指定も同時にすると、オフセット値は無視される(ポート番号指定されていないものだけにオフセット値が適用される)

standalone.xmlを直接編集

変数の部分にダイレクトに数値を埋め込む

書き方を真似すれば、デフォルトのポート番号を変更して、起動時にさらに変更可能にしておくこともできる

<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
    <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="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="txn-recovery-environment" port="4712"/>
    <socket-binding name="txn-status-manager" port="4713"/>
    <outbound-socket-binding name="mail-smtp">
        <remote-destination host="localhost" port="25"/>
    </outbound-socket-binding>
</socket-binding-group>

CLIツールで編集

write-attributeコマンドを利用してポート番号を変更(standalone.xmlが書き変わる)

reloadコマンドを実行するとWildFlyが新しいポートで再起動する

$ ./jboss-cli.sh -c
[standalone@localhost:9990 /] /socket-binding-group=standard-sockets/socket-binding=http:write-attribute(name="port",value="18080")
{
    "outcome" => "success",
    "response-headers" => {
        "operation-requires-reload" => true,
        "process-state" => "reload-required"
    }
}
[standalone@localhost:9990 /] /socket-binding-group=standard-sockets/socket-binding=management-http:write-attribute(name="port",value="19990")
{
    "outcome" => "success",
    "response-headers" => {
        "operation-requires-reload" => true,
        "process-state" => "reload-required"
    }
}
[standalone@localhost:9990 /] :reload
{
    "outcome" => "success",
    "result" => undefined
}