Server Infra

Wildly 설정

쪽보다푸른 2022. 6. 24. 10:42

1. Java OpenJDK 설치

$ sudo apt update

$ sudo apt install default-jdk

 

2. 사용자 생성

$ sudo groupadd -r wildfly

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

 

3. WildFly 설치

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

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

- 심볼릭 링크 생성

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

 

- WildFly 디렉토리에 대한 소유권을 사용자 및 wildfly 그룹으로 변경

$ sudo chown -RH wildfly: /opt/wildfly

 

4. Systemd 구성

- WildFly 구성 파일 저장 Directory 생성

$ sudo mkdir -p /etc/wildfly

 

- Wildfly config 파일 복사

config 파일 : Wildfly Mode & Bind 주소 지정 가능

# 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

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

 

- Wildfly 설치 디렉토리 -> /opt/wildfly/bin 디렉토리 launch.sh 스크립트 복사

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

 

- bin 디렉토리에 파일 실행 권한 부여

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

 

 

- Wildfly 설치 디렉토리 -> /opt/wildfly/bin 디렉토리 wildfly.service 복사

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

 

- Wildfly 설치 완료 후 daemon reload

$ sudo systemctl daemon-reload

 

5. Wildfly 서비스 제어

- Wildfly 서비스 시작

$ sudo systemctl start wildfly

 

- Wildfly 서비스 상태 확인

$ sudo systemctl status wildfly

 wildfly.service - The WildFly Application Server
   Loaded: loaded (/etc/systemd/system/wildfly.service; enabled; vendor preset: disabled)
   Active: active (running) since 목 2022-06-23 06:18:21 GMT; 2h 40min ago
 Main PID: 11142 (launch.sh)
   CGroup: /system.slice/wildfly.service
           ├─11142 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0 0.0.0.0
           ├─11143 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0 -bmanagement 0.0.0.0
           └─11206 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.aw...


 6월 23 06:18:21 instance-20220406-1151 systemd[1]: Started The WildFly Application Server.

- 서버 부팅 시 Wildfly 자동 시작

$ sudo systemctl enable wildfly

 

6. 방화벽 Open

- 외부에서 Wildfly 인터페이스 엑세스를 위해 8080 포트 Open

$ sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp //8080포트 개방

$ sudo firewall-cmd --reload // 적용

 

7. Wildfly 설치 확인

- 브라우저에서 Domain or IP : 8080 입력

8. 관리 콘솔 설정

- 콘솔 관리자 계정 생성

$ cd /opt/wildfly/bin/

$ ./jboss-cli.sh --connect

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

- 원격에서 콘솔 엑세스 설정

$ vi /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

$ vi /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
#else
#    $WILDFLY_HOME/bin/standalone.sh -c $2 -b $3
#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

 

$ /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

#변경
ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND
StandardOutput=null


[Install]
WantedBy=multi-user.target

$ sudo mkdir /var/run/wildfly/

$ sudo chown wildfly: /var/run/wildfly/

$ sudo systemctl daemon-reload

$ sudo systemctl restart wildfly

 

- 브라우저에 IP or Domain : 9990/console/ 입력

- 관리 콘솔 계정으로 로그인 (로그인 암호 기억 체크)