SW/리눅스

CentOS 7 : WildFly (JBoss) 설치 방법, 예제, 명령어

얇은생각 2021. 6. 22. 07:30
반응형

이전에 JBoss로 알려진 dFly는 Java로 작성된 플랫폼 간 오픈 소스 애플리케이션 런타임으로, 놀라운 애플리케이션을 만들 수 있습니다. WildFly는 유연하고 가벼우며 필요에 따라 추가하거나 제거할 수 있는 플러그형 하위 시스템을 기반으로 합니다.

CentOS 7에 WildFly 애플리케이션 서버를 설치하는 방법에 대해 설명합니다.

 

 

 

전제조건

CentOS에 패키지를 설치하려면 sudo 액세스 권한이 있는 사용자로 로그인해야 합니다.

 

 

1단계: Java OpenJDK 설치

WildFly 9에는 Java SE 8 이상이 필요합니다. 이 튜토리얼에서는 CentOS 7의 기본 Java 개발 및 런타임인 Java 플랫폼의 오픈 소스 구현인 OpenJDK를 설치합니다. 

다음을 실행하여 OpenJDK 패키지를 설치합니다.

sudo yum install java-1.8.0-openjdk-devel

 

 

 

2단계: 사용자를 생성

WildFly를 루트 사용자로 실행하는 것은 보안상의 위험이며 모범 사례로 간주되지 않습니다.

home directory /opt/wildfly를 사용하여 wildfly라는 새 시스템 사용자 및 그룹을 생성하려면 다음과 같이 하십시오.

sudo groupadd -r wildfly
sudo useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly

 

 

 

3단계: WildFly를 설치

WildFly의 최신 버전은 16.0.0입니다. 다음 단계를 계속하기 전에 다운로드 페이지에서 새 버전을 확인해야 합니다. 새 버전이 있는 경우 아래 명령에서 WILDFLY_VERSION 변수를 교체하십시오.

다음 wget 명령을 사용하여 /tmp 디렉토리에 WildFly 아카이브를 다운로드합니다.

WILDFLY_VERSION=16.0.0.Final
wget https://download.jboss.org/wildfly/$WILDFLY_VERSION/wildfly-$WILDFLY_VERSION.tar.gz -P /tmp

 

 

다운로드가 완료되면 tar.gz 파일의 압축을 풀고 /opt 디렉토리로 이동합니다.

sudo tar xf /tmp/wildfly-$WILDFLY_VERSION.tar.gz -C /opt/

 

 

그런 다음 WildFly 설치 디렉토리를 가리키는 심볼릭 링크 와일드플라이를 만듭니다.

sudo ln -s /opt/wildfly-$WILDFLY_VERSION /opt/wildfly

 

 

WildFly는 WildFly 설치 디렉토리에 대한 액세스 권한이 필요한 WildFly 사용자 아래에서 실행됩니다.

디렉터리 소유권을 사용자 및 그룹 wildfly로 변경합니다.

sudo chown -RH wildfly: /opt/wildfly

 

 

4단계: Systemd를 구성

WildFly 패키지에는 WildFly를 서비스로 실행하는 데 필요한 파일이 포함되어 있습니다.

먼저 WildFly 구성 파일을 저장할 디렉토리를 생성합니다.

sudo mkdir -p /etc/wildfly

 

 

구성 파일을 /etc/wildfly 디렉토리에 복사합니다.

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/

 

 

이 파일을 사용하면 WildFly 모드와 바인드 주소를 지정할 수 있습니다. 기본적으로 WildFly는 독립 실행형 모드에서 실행되며 모든 인터페이스에서 수신 대기합니다. 필요에 따라 파일을 편집할 수 있습니다.

# /etc/wildfly/wildfly.conf

# The configuration you want to run
WILDFLY_CONFIG=standalone.xml

# The mode you want to run
WILDFLY_MODE=standalone

# The address to bind to
WILDFLY_BIND=0.0.0.0

 

 

다음으로 WildFly launch.sh 스크립트를 /opt/wildfly/bin/ 디렉토리에 복사합니다.

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/

 

 

bin 디렉토리의 스크립트에는 실행 파일 플래그가 있습니다.

sudo sh -c 'chmod +x /opt/wildfly/bin/*.sh'

 

 

이름이 지정된 systemd 유닛 파일을 /etc/systemd/ 디렉토리에 복사합니다.

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/

 

 

시스템d에 새 장치 파일을 생성했음을 알립니다.

sudo systemctl daemon-reload

 

 

WildFly 서비스를 시작하고 다음을 실행하여 부팅 시 자동으로 시작할 수 있도록 합니다.

sudo systemctl start wildfly
sudo systemctl enable wildfly

 

 

서비스가 실행 중인지 확인합니다.

sudo systemctl status wildfly

# ● wildfly.service - The WildFly Application Server
#    Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: disabled)
#    Active: active (running) since Fri 2019-03-01 20:13:39 UTC; 3s ago
#  Main PID: 3680 (launch.sh)
#    CGroup: /system.slice/wildfly.service

 

 

5단계: 방화벽을 조정

서버가 방화벽에 의해 보호되고 로컬 네트워크 외부에서 WildFly 인스턴스에 액세스하려면 포트 8080도 열어야 합니다.

다음 명령을 사용하여 필요한 포트를 엽니다.

sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

 

 

프로덕션 환경에서 WildFly 애플리케이션을 실행하는 경우 로드 밸런서 또는 역방향 프록시가 있을 가능성이 높으며 포트 8080에 대한 액세스를 내부 네트워크에만 제한하는 것이 좋습니다.

 

 

6단계: WildFly 인증을 구성

이제 WildFly를 설치하고 다음 단계를 실행하여 관리 콘솔을 사용하거나 CLI를 사용하여 원격으로 연결할 수 있는 사용자를 생성합니다.

새 사용자를 추가하려면 add-user.sh를 사용하십시오. WildFly의 bin 디렉토리에 위치한 ssh 스크립트입니다.

sudo /opt/wildfly/bin/add-user.sh

# What type of user do you wish to add? 
#  a) Management User (mgmt-users.properties) 
#  b) Application User (application-users.properties)
# (a):

 

 

그런 다음 새 사용자의 세부 정보를 입력하라는 메시지가 스크립트에 표시됩니다.

# Enter the details of the new user to add.
# Using realm 'ManagementRealm' as discovered from the existing property files.
# Username : jjeongil
# 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 'linuxize' for realm 'ManagementRealm'
# Is this correct yes/no? yes
# Added user 'linuxize' to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-users.properties'
# Added user 'linuxize' to file '/opt/wildfly-16.0.0.Final/domain/configuration/mgmt-users.properties'
# Added user 'linuxize' with groups  to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-groups.properties'
# Added user 'linuxize' with groups  to file '/opt/wildfly-16.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? yes
# To represent the user add the following to the server-identities definition <secret value="UGFuMjNkZWo3NyNA" />

 

 

인증에 사용되는 속성 파일에 새 사용자가 추가됩니다.

 

 

7단계: WildFly 설치를 테스트

기본 WildFly 페이지에 액세스하려면 브라우저를 열고 http://<your_domain_or_IP_address>:8080 입력합니다.

설치가 성공했다고 가정하면 다음과 유사한 화면이 나타납니다.

CentOS 7 : WildFly (JBoss) 설치 방법, 예제, 명령어 1

 

 

 

8단계: WildFly 관리 콘솔에 액세스

명령줄 인터페이스입니다.

명령줄에서 WildFly 관리 콘솔에 액세스하려면 jboss-cli.sh 스크립트를 사용하십시오.

와일드플라이의 빈 디렉터리로 이동하고 --connect 옵션을 사용하여 스크립트를 실행합니다.

관리 사용자 이름 및 비밀번호(6단계에서 작성)를 입력하라는 메시지가 표시됩니다.

cd /opt/wildfly/bin/
./jboss-cli.sh --connect

# Authenticating against security realm: ManagementRealm
# Username: jjeongil
# Password:

 

 

로그인하면 콘솔 프롬프트가 [standalone@localhost:9990 /]로 변경됩니다. 명령 및 명령 구문 목록을 가져오려면 help를 입력합니다.

여기서 애플리케이션을 배포 및 배포 해제하고, 사용자와 그룹을 관리하며, WildFly 서버를 구성하고 모니터링할 수 있습니다.

 

 

 

웹 인터페이스

GUI에서 서버를 관리하려는 경우 WildFly는 웹 기반 콘솔도 제공합니다.

기본적으로 WildFly 관리 콘솔은 http://localhost:9990/console의 localhost에서만 사용할 수 있습니다. 6단계에서 작성한 사용자를 사용하여 로그인합니다.

CentOS 7 : WildFly (JBoss) 설치 방법, 예제, 명령어 2

 

 

원격 위치에서 콘솔에 액세스하려면 wildfly.service, wildfly.conf 및 launch.sh 파일을 약간 수정해야 합니다.

wildfly.conf를 열고 WILDFLY_CONSOL_B를 추가합니다.파일의 끝에 IND=0.0.0.0이 있습니다.

# /etc/wildfly/wildfly.conf

# The configuration you want to run
WILDFLY_CONFIG=standalone.xml

# The mode you want to run
WILDFLY_MODE=standalone

# The address to bind to
WILDFLY_BIND=0.0.0.0

# The address console to bind to
WILDFLY_CONSOLE_BIND=0.0.0.0

 

 

launch.sh을 열고 강조 표시된 줄을 편집합니다.

# /opt/wildfly/bin/launch.sh

#!/bin/bash

if [ "x$WILDFLY_HOME" = "x" ]; then
    WILDFLY_HOME="/opt/wildfly"
fi

if [[ "$1" == "domain" ]]; then
    $WILDFLY_HOME/bin/domain.sh -c $2 -b $3 -bmanagement $4
else
    $WILDFLY_HOME/bin/standalone.sh -c $2 -b $3 -bmanagement $4
fi

 

 

서비스를 다시 시작하여 변경 내용을 적용합니다.

sudo systemctl restart wildfly

 

 

wildfly.service를 열고 강조 표시된 줄을 편집합니다.

# /etc/systemd/system/wildfly.service

[Unit]
Description=The WildFly Application Server
After=syslog.target network.target
Before=httpd.service

[Service]
Environment=LAUNCH_JBOSS_IN_BACKGROUND=1
EnvironmentFile=-/etc/wildfly/wildfly.conf
User=wildfly
LimitNOFILE=102642
PIDFile=/var/run/wildfly/wildfly.pid
ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND
StandardOutput=null

[Install]
WantedBy=multi-user.target

 

 

/var/run/wildfly 디렉토리를 생성하고 올바른 사용 권한을 설정합니다.

sudo mkdir /var/run/wildfly/
sudo chown wildfly: /var/run/wildfly/

 

 

단위 파일이 변경되었음을 systemd에 알립니다.

sudo systemctl daemon-reload

 

 

다음을 실행하여 WildFly 서비스를 다시 시작합니다.

sudo systemctl restart wildfly

 

 

방화벽에서 포트 9990이 차단되지 않았다고 가정하면 http://<your_domain_or_IP_address>:9990/console에서 WildFly 관리 콘솔에 액세스할 수 있습니다.

반응형