티스토리 뷰

728x90
반응형

 포스팅은 WildFly Installation 과정 및 WebAdmin 접속 과정 및 Follow-Symlink에 대해 설명합니다.

[First Install]

초보자를 위한 WildFly 간단 설치 과정 및 Webadmin 접속을 통해 추후 다양한 테스트를 수행하기 위한 기존 준비를 수행하는데 목적이 있습니다. 본테스트는 Windows 환경을 기준으로 설치되었습니다.

먼저 WildFly 설치 바이너리를 download 하고 unzip 압축을 해제 합니다. (http://www.wildfly.org/)다음으로 C:\[NRSON] S-CORE\wildfly-11.0.0.Final\wildfly-11.0.0.Final\bin\standalone.conf.bat 파일을 편집합니다.

rem #
rem # Specify the location of the Java home directory (it is recommended that
rem # this always be set). If set, then "%JAVA_HOME%\bin\java" will be used as
rem # the Java VM executable; otherwise, "%JAVA%" will be used (see below).
rem #
set "JAVA_HOME=C:\Program Files\Java\jdk1.8.0_151"
rem #
rem # Specify the exact Java VM executable to use - only used if JAVA_HOME is
rem # not set. Default is "java".
rem #
set "JAVA=C:\Program Files\Java\jdk1.8.0_151\bin\java"
rem #
rem # Specify options to pass to the Java VM. Note, there are some additional
rem # options that are always passed by run.bat.
rem #
rem # JVM memory allocation pool parameters - modify as appropriate.
set "JAVA_OPTS=-Xms64M -Xmx512M -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m" 

==> 위 내용은 JDK 설치 경로에 따라 다르며 특히 wildfly 11 Version은 JDK 1.8을 호환합니다.

WildFly를 기동합니다.
C:\Windows\System32>standalone

종료는 아래와 같이 수행이 가능합니다.

C:\[NRSON] S-CORE\[SW]wildfly\wildfly-11.0.0.Final\wildfly-11.0.0.Final\bin>jboss-cli.bat --connect command=:shutdown

{
    "outcome" => "success",
    "result" => undefined
}
계속하려면 아무 키나 누르십시오 . . .
C:\[NRSON] S-CORE\[SW]wildfly\wildfly-11.0.0.Final\wildfly-11.0.0.Final\bin>
==> 정상 종료 로그입니다.
기동이 완료되면 test page에 접속을 시도합니다. (http://localhost:8080/)
==> 기동이 정상적으로 완료 되면 초기화면 호출이 가능합니다.
WebAdmin 접속을 위한 user를 추가합니다.
C:\WINDOWS\system32>add-user.bat

What type of user do you wish to add?
 a) Management User (mgmt-users.properties)
 b) Application User (application-users.properties)
(a): a
Enter the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : nrson
Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file.
 - The password should be different from the username
 - The password should not be one of the following restricted values {root, admin, administrator}
 - The password should contain at least 8 characters, 1 alphabetic character(s), 1 digit(s), 1 non-alphanumeric symbol(s)
Password :
Re-enter Password :
What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[  ]:
About to add user 'nrson' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'nrson' to file 'C:\[NRSON] S-CORE\[SW]wildfly\wildfly-11.0.0.Final\wildfly-11.0.0.Final\standalone\configuration\mgmt-users.properties'
Added user 'nrson' to file 'C:\[NRSON] S-CORE\[SW]wildfly\wildfly-11.0.0.Final\wildfly-11.0.0.Final\domain\configuration\mgmt-users.properties'
Added user 'nrson' with groups  to file 'C:\[NRSON] S-CORE\[SW]wildfly\wildfly-11.0.0.Final\wildfly-11.0.0.Final\standalone\configuration\mgmt-groups.properties'
Added user 'nrson' with groups  to file 'C:\[NRSON] S-CORE\[SW]wildfly\wildfly-11.0.0.Final\wildfly-11.0.0.Final\domain\configuration\mgmt-groups.properties'
Is this new user going to be used for one AS process to connect to another AS process?
e.g. for a slave host controller connecting to the master or for a Remoting connection for server to server EJB calls.
yes/no? no
계속하려면 아무 키나 누르십시오 . . .
C:\Windows\System32>

==> ADMIN User를 추가합니다. User는 Mgmt & Application 두가지 종류의 계정이 존재합니다.

마지막으로 admin 접속을 시도합니다. (http://localhost:9990)
==> 4번에서 추가한 정보로 로그인

정상 로그인이 되면 아래와 같은 WebConsole에 접속할 수 있습니다.

Follow-Symlink

추가로 WildFly에서 Symbolic Link를 처리하는 방법에 대해 살펴보겠습니다.

WildFly는 기동 시점에 Symbolic Link로 걸려 있는 모든 파일을 검사하고 deploy 시점에 meta 정보를 기입합니다. 이로 인해 대용량의 symbolic link를 사용하는 애플리케이션은 기동에 문제를 발생 시킬 수 있습니다.

이를 해결하기 위해 다음과 같은 설정을 적용할 수 있습니다.

        <subsystem xmlns="urn:jboss:domain:undertow:6.0" default-server="default-server" default-virtual-host="default-host" default-servlet-container="default" instance-id="linktest" default-security-domain="other">
            <buffer-cache name="default"/>
            <server name="default-server">
                <ajp-listener name="ajp" socket-binding="ajp"/>
                <http-listener name="default" socket-binding="http" redirect-socket="https" enable-http2="true"/>
                <https-listener name="https" socket-binding="https" security-realm="ApplicationRealm" enable-http2="true"/>
                <host name="default-host" alias="localhost">
                    <location name="/" handler="welcome-content"/>
                    <filter-ref name="X-Frame-Options"/>
                    <filter-ref name="Content-Security-Policy"/>
                    <http-invoker security-realm="ApplicationRealm"/>
                    <location name="/data" handler="linkhandler" />
                </host>
            </server>
            <servlet-container name="default">
                <jsp-config/>
                <websockets/>
            </servlet-container>
            <handlers>
                <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
                <file name="linkhandler" follow-symlink="true" path="/my-sym-path"/>
            </handlers>
            <filters>
                <response-header name="Content-Security-Policy" header-name="Content-Security-Policy" header-value="frame-ancestors 'self' http://192.168.1.100:12000"/>
                <response-header name="X-Frame-Options" header-name="X-Frame-Options" header-value="ALLOW-FROM http://192.168.2.172:12000"/>
            </filters>
        </subsystem>

해당 설정에서 주요 정보는 다음과 같습니다.

총 2라인의 설정이 추가되어야 합니다.

먼저 애플리케이션 컨텍스트로 사용할 정보입니다. (subsystem → server → host → location)

<location name="/data" handler="linkhandler" />

해당 link 설정 정보는 handler에 의해 구현됩니다.

handler는 다음 위치에 구성할 수 있습니다. (subsystem → handlers → file)

<file name="linkhandler" follow-symlink="true" path="/my-sym-path"/>

위와 같이 구현하면 다음과 같이 동작합니다.

1) 먼저 symbolic link로 구성되어 있는 구성할 local에 mount 되어 있는 디렉토리 폴더의 위치를 다음과 같이 handlers 하위 file에 지정합니다. 현재 테스트에서는 local path가 /my-sym-path입니다.

2) 다음으로 애플리케이션 상에서 표출 할 context를 지정합니다. 현재 테스트에서는 /data입니다.

3) 위와 같이 구성되면, local에 있는 /my-syn-path라는 디렉토리가 context-path인 /data로 동작합니다.

호출해 보면 다음과 같이 동작합니다.

 

이와 같은 구성으로 직접 ln -s data /my-sym-path 구성을 하지 않고도 wildfly에서는 symbolic link를 사용할 수 있습니다.

이번 시간에는 WildFly 설치 및 기동 종료 그리고 WebAdmin 접속 방법에 대해 알아보았습니다.

WildFly는 단순히 다운로드 및 압축 해제로 설치가 완료 됩니다. 기동 종료는 CLI 환경에서 명령어로 수행이 가능하고 정상 기동이 되었을 경우 WebAdmin에 접속 할 수 있습니다.

또한 효과적인 Symbolic-Link 구성 방법에 대해 알아보았습니다.

다음시간엔 보다 상세한 wildfly 설정에 대해 알아보겠습니다.

728x90
반응형