글 작성자: drizzle_
728x90

공식 홈페이지

 

WildFly (JBoss)는 가볍고 빠르며 최적화된 Java 기반 애플리케이션 런타임으로 단일 IDE에서 자바 애플리케이션을 개발할 수 있다.
WildFly는 대시 보드가있는 플랫폼으로 애플리케이션 서버의 설정, 구성을 매우 간단하고 빠르게 변경할 수 있다.

필요에 맞게 환경을 사용자 지정하기 위해 불필요한 페이지를 찾아 보거나 커맨드를 입력할 필요가 없다.

WildFly는 메모리 관리에 좋은 접근 방식을 취하며 필요에 따라 추가 또는 제거 할 수있는 플러그 방식 시스템을 기반으로한다.
사용하기 쉬운 Arquillian 프레임 워크와 결합 된 WildFly의 빠른 시작(부팅)을 통해 코드가 실행될 실제 환경을 사용하여 테스트 또는 개발 환경을 만들 수 있다.

테스트 코드는 서버에 대한 전체 액세스 권한이있는 애플리케이션과 함께 별도로 배포된다.
WildFly의 구성은 사용자 중심이다.(이용하기 쉽다)

구성 파일은 쉽게 이해할 수있는 하위 시스템으로 구성되며 내부 서버 코드같은게 노출되지 않는다. 

하위 시스템은 기본값을 사용하지만 사용자가 커스텀 할 수 있다.

도메인 모드(프로덕션)에서 실행하는 경우 루트 도메인, 서브 도메인을 이용하는 모든 서버에 대한 구성은 동일한 파일 내에서 구성된다.

+오픈소스


설치하기

1. OpenJDK설치하기

Wildfly(Jboss)는 자바로 개발되어 있어 자바를 설치해야한다.

자바를 설치하기 전에 패키지 리스트를 업데이트 해준다.

sudo apt-get update -y && sudo apt-get upgrade -y

JDK를 설치한다.

sudo apt install default-jdk

JDK가 성공적으로 설치되었다면 아래 커맨드를 실행하였을 때 JDK의 버전이 출력될것이다.

java -version

2. Wildfly라는 유저를 만들기

(필수 작업은 아니지만 유저를 만들면 관리가 편합니다.)

아래 커맨드를 실행하여 wildfly라는 유저와 그룹를 만든다.

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

3. Wildfly 패키지를 다운로드하기

이제 Java JDK를 설치하고 WildFly 용 서비스 계정을 만들었으므로 아래 명령을 실행하여 WildFly 패키지를 다운로드하면된다.

이 글을 작성할 당시 현재 버전은 20.0.1Final이다.

이곳에서 최신 버전을 확인할 수 있다.

이 글에서는 wget을 이용할것이다.

아래 커맨드를 실행하면 tmp폴더에 wildfly가 다운로드 될 것 이다.

cd /tmp
https://download.jboss.org/wildfly/20.0.1.Final/wildfly-20.0.1.Final.zip

3-1. unzip, chown

다운로드가 완료되었다면, 압축을 해제해야한다.

아래 커맨드를 입력하여 unzip을 설치한다.

sudo apt-get install unzip

아래 커맨드를 이용하여 다운받은 압축파일의 압축을 해제한다.

sudo unzip wildfly-20.0.1.Final.zip

압축 해제가 완료되었다면 해당 디렉토리를 wildfly유저의 루트 디렉토리로 이동하고 해당 디렉토리의 권한을 wildfly에게 준다.

sudo mv wildfly-20.0.1.Final/ /opt/wildfly
sudo chown -RH wildfly: /opt/wildfly

4. 설치

/etc/wildfly 폴더를 생성한다.

sudo mkdir -p /etc/wildfly

WildFly 설정 파일, 실행 파일을 위에서 새로 만든 디렉토리에 복사하고 /etc/wildfly /bin 디렉토리의 스크립트를 파일로 만든다.(*.sh)

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
sudo sh -c 'chmod +x /opt/wildfly/bin/*.sh'

systemd파일을 복사한다.

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

이제 systemctl을 이용해서 Wildfly를 시작, 정지, 재시작을 할 수 있다.

 

정지

sudo systemctl stop wildfly.service

시작

sudo systemctl start wildfly.service

재시작

sudo systemctl restart wildfly.service

아래 커맨드를 실행하여 Wildfly를 시작하고, 부팅될 때 자동으로 실행될 수  있게 만든다.

sudo systemctl stop wildfly.service
sudo systemctl start wildfly.service
sudo systemctl enable wildfly.service

아래 커맨드를 입력하여 Wildfly가 정상적으로 실행중인지 확인한다.

sudo systemctl status wildfly.service

Output:

Active: active (running)

WildFly 서비스를 다운로드하고 구성 했으므로 이제 아래 명령을 실행하여 앱 서버 웹 콘솔을 연결하고 관리 할 사용자 계정을 만든다.

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

a를 선택한다.(Management User (mgmt-users.properties))

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 : 설정할 관리자계정 이름
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 : 설정할 관리자계정 비밀번호
Word should have at least 1 non-alphanumeric symbol.
Are you sure you want to use the password entered yes/no? yes

5. 방화벽 설정, Wildfly 외부 접속 허용

Wildfly를 외부에서 접속하려면 방화벽을 설정해야한다.

아래 커맨드를 실행하여 8080포트를 열어둔다.

sudo ufw allow 8080

기본적으로 접속은 로컬로만 제한된다.

원격으로 연결하려는 경우 아래 커맨드를 실행하여 구성 파일을 수정한다.

sudo nano /etc/wildfly/wildfly.conf

아래 문장을 맨 끝에 추가한 후 저장한다.

WILDFLY_CONSOLE_BIND=0.0.0.0

아래 커맨드를 실행하여 웹 계정을 추가한다.

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

username과 password를 입력한다.

 

이제, 스크립트 파일을 수정한다.

아래 커맨드를 실행하여 스크립트 파일을 수정한다.

sudo nano /opt/wildfly/bin/launch.sh

아래와 같이 변경한다.

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

systemctl을 이용해 wildfly를 재시작한다.

sudo systemctl restart wildfly.service

아래 커맨드를 실행해 systemd파일을 수정한다.

sudo nano /etc/systemd/system/wildfly.service

StandOutPut위에 아래 라인을 추가한다.

ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND

저장한다.

6. Wildfly 접속

http://서버아이피:8080 으로 접속하면 아래와 같은화면을 볼 수 있을 것 이다.

어드민콘솔은 /console에서 볼 수 있다.

위와 같은 화면이 나오면 성공이다.

애플리케이션을 개발하면 된다.

728x90
Email: b1@yeonw.me / 여기를 눌러 다른 연락 수단들 알아보기