서버 설치 · 6 min read · Sep 09, 2025

Debian 10에서 Nginx를 리버스 프록시로 사용하여 WildFly 설치하는 방법

WildFly는 Red Hat에서 개발한 Java로 작성된 무료 오픈 소스 크로스 플랫폼 애플리케이션 런타임으로, 단일 IDE에서 훌륭한 애플리케이션을 개발할 수 있게 해줍니다. 경량이며 빠르고 유연하며 플러그 가능 서브시스템을 기반으로 합니다. Windows 및 Linux 운영 체제에서 실행되며 사용자에게 빠르고 안정적인 Java 런타임 환경을 제공합니다. WildFly는 빠르고 사용자 정의 가능한 런타임, 확장성, 통합 구성 및 관리, 동시 로딩, 빠른 링크, 도메인 관리 등 다양한 기능을 제공합니다.

이 튜토리얼에서는 Debian 10에서 Nginx를 리버스 프록시로 사용하여 WildFly를 설치하는 단계를 보여드리겠습니다.

요구 사항

  • Debian 10을 실행하는 서버.
  • 서버에 설정된 루트 비밀번호.

시작하기

시작하기 전에 시스템을 최신 버전으로 업데이트해야 합니다. 다음 명령어를 실행하여 업데이트할 수 있습니다:

apt-get update -y  
apt-get upgrade -y

서버가 업데이트되면 변경 사항을 적용하기 위해 서버를 재시작합니다.

Java 설치

WildFly는 서버에 Java 8 버전이 설치되어 있어야 합니다. 기본적으로 Debian 10의 기본 저장소에는 Java 8이 없습니다. 따라서 공식 웹사이트에서 Java 8을 다운로드해야 합니다.

Java 8을 다운로드한 후, 다음 명령어로 Java 소스를 /usr/lib/jvm 디렉토리에 추출합니다:

mkdir /usr/lib/jvm/  
tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/lib/jvm/

다음으로, 기본 Java 버전을 변경하기 위해 다음 명령어를 실행합니다:

update-alternatives --config java

Java 8을 선택하고 Enter 키를 누릅니다. 다음과 같은 출력이 표시되어야 합니다:

There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                         Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      manual mode
  2            /usr/lib/jvm/jdk1.8.0_221/bin/java            1         manual mode

Press  to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/lib/jvm/jdk1.8.0_221/bin/java to provide /usr/bin/java (java) in manual mode

다음으로, 다음 명령어를 사용하여 Java 버전을 확인합니다:

java -version

다음과 같은 출력이 표시되어야 합니다:

java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)

Wildfly 설치

먼저, Wildfly를 위한 사용자 및 그룹을 생성해야 합니다. 다음 명령어로 생성할 수 있습니다:

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

다음으로, 다음 명령어로 Wildfly의 최신 버전을 다운로드합니다:

wget https://download.jboss.org/wildfly/17.0.1.Final/wildfly-17.0.1.Final.zip

다운로드가 완료되면, 다음 명령어로 다운로드한 파일을 추출합니다:

unzip wildfly-17.0.1.Final.zip

다음으로, 추출된 디렉토리를 /opt/로 복사합니다:

cp -r wildfly-17.0.1.Final /opt/wildfly

다음으로, wildfly 디렉토리의 소유권을 wildfly 사용자로 변경합니다:

chown -RH wildfly:wildfly /opt/wildfly

작업이 완료되면 다음 단계로 진행할 수 있습니다.

Wildfly 구성

다음으로, WildFly를 구성하는 데 필요한 파일을 복사해야 합니다.

먼저, WildFly 구성 파일을 /etc/wildfly 디렉토리에 복사합니다:

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

다음으로, launch.sh 파일을 /opt/wildfly/bin/ 디렉토리에 복사합니다:

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

다음으로, launch.sh 파일에 실행 권한을 부여합니다:

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

다음으로, Wildfly systemd 유닛 파일을 /etc/systemd/system/ 디렉토리에 복사합니다:

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

다음으로, 다음 명령어로 systemd 데몬을 다시 로드합니다:

systemctl daemon-reload

다음으로, WildFly 서비스를 시작하고 부팅 시 자동으로 시작되도록 설정합니다:

systemctl start wildfly  
systemctl enable wildfly

다음 명령어로 Wildfly 서비스의 상태를 확인할 수 있습니다:

systemctl status wildfly

다음과 같은 출력이 표시되어야 합니다:

? wildfly.service - The WildFly Application Server
   Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-09-10 00:19:27 EDT; 1s ago
 Main PID: 1142 (launch.sh)
    Tasks: 7 (limit: 1138)
   Memory: 24.7M
   CGroup: /system.slice/wildfly.service
           ??1142 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0
           ??1143 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0
           ??1200 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -

Sep 10 00:19:27 debian systemd[1]: Started The WildFly Application Server.

WildFly 인증 구성

다음으로, Wildfly 관리 콘솔에 접근하기 위한 관리자 사용자를 생성해야 합니다. 다음 명령어로 생성할 수 있습니다:

/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): a

a를 입력하고 Enter 키를 누릅니다. 사용자 생성 과정에서 사용자 이름, 비밀번호 및 그룹 이름을 제공해야 합니다:

Enter the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : wildflyadmin
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 'wildflyadmin' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'wildflyadmin' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties'
Added user 'wildflyadmin' to file '/opt/wildfly/domain/configuration/mgmt-users.properties'
Added user 'wildflyadmin' with groups  to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties'
Added user 'wildflyadmin' with groups  to file '/opt/wildfly/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 

작업이 완료되면 다음 단계로 진행할 수 있습니다.

원격 시스템에서 접근 가능하도록 WildFly 구성

기본적으로 Wildfly는 로컬 시스템에서만 접근 가능합니다. 따라서 원격 시스템에서 접근할 수 있도록 구성해야 합니다. /etc/wildfly/wildfly.conf 파일을 편집하여 수행할 수 있습니다:

nano /etc/wildfly/wildfly.conf

파일의 끝에 다음 줄을 추가합니다:

WILDFLY_CONSOLE_BIND=0.0.0.0

작업이 완료되면 파일을 저장하고 닫습니다. 그런 다음, /opt/wildfly/bin/launch.sh 파일을 다음과 같이 엽니다:

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

파일을 저장하고 닫습니다. 그런 다음, /etc/systemd/system/wildfly.service 파일을 엽니다.

nano /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 디렉토리를 생성하고 올바른 권한을 설정합니다:

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

마지막으로, systemd 데몬을 다시 로드하고 Wildfly 서비스를 재시작하여 변경 사항을 적용합니다:

systemctl daemon-reload  
systemctl restart wildfly

작업이 완료되면 다음 단계로 진행할 수 있습니다.

Wildfly 접근

Wildfly가 이제 설치되고 원격 시스템에서 접근할 수 있도록 구성되었습니다. 기본적으로 Wildfly 관리 콘솔은 포트 9990에서 수신 대기합니다. URL http://192.168.0.4:9990을 방문하여 접근할 수 있습니다. 다음 페이지로 리디렉션됩니다:

Wildfly에 로그인

이제 관리자 사용자 이름과 비밀번호를 입력하고 로그인 버튼을 클릭합니다. 다음 화면에서 Wildfly 관리 콘솔을 볼 수 있습니다:

HAL 관리 콘솔

또한 URL http://192.168.0.4:8080을 방문하여 Wildfly 애플리케이션에 접근할 수 있습니다. 다음 페이지가 표시되어야 합니다:

WildFly에 오신 것을 환영합니다

Nginx를 Wildfly의 리버스 프록시로 구성

다음으로, 포트 80에서 오는 요청을 8080으로 프록시하기 위해 Nginx를 리버스 프록시로 구성해야 합니다.

먼저, 다음 명령어로 Nginx를 설치합니다:

apt-get install nginx -y

Nginx가 설치되면, 다음 명령어로 Nginx의 새로운 가상 호스트 파일을 생성합니다:

nano /etc/nginx/sites-available/wildfly.conf

다음 줄을 추가합니다:

upstream wildfly {
  server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;
}

server {
  listen          80;
  server_name     192.168.0.4;

  location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://wildfly/;
  }
}

작업이 완료되면 파일을 저장하고 닫습니다. 그런 다음, 다음 명령어로 Nginx의 구문 오류를 확인합니다:

ginx -t

다음과 같은 출력이 표시되어야 합니다:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

다음으로, Nginx 가상 호스트를 활성화하고 다음 명령어로 Nginx를 재시작합니다:

ln -s /etc/nginx/sites-available/wildfly.conf /etc/nginx/sites-enabled/  
systemctl restart nginx

이제 포트 8080을 지정하지 않고도 Wildfly 애플리케이션에 접근할 수 있습니다.

그게 전부입니다. Nginx를 리버스 프록시로 사용하여 Debian 10에 Wildfly를 성공적으로 설치하고 구성했습니다. 질문이 있으면 언제든지 문의해 주세요.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.