서버 설치 · 6 min read · Dec 19, 2025
우분투 20.04에서 Nginx 리버스 프록시와 함께 WildFly Java 애플리케이션 서버 설치하는 방법

WildFly 또는 이전에 JBoss AS로 알려졌던 것은 JEE (Java Enterprise Edition) 컨테이너의 경량 구현입니다. 유연한 애플리케이션 런타임은 Java로 작성되어 환상적인 애플리케이션을 구축하는 데 도움을 줍니다.
WildFly는 Linux, macOS 및 Windows 운영 체제에서 실행되는 다중 플랫폼 애플리케이션 런타임입니다. JBoss Inc에 의해 생성되었으며, 2006년에 RedHat에 인수되어 WildFly가 되었습니다.
이 튜토리얼에서는 최신 우분투 20.04에 WildFly를 설치하는 방법을 보여드리겠습니다. 최신 버전의 WildFly 20을 설치하고, WildFly의 관리 콘솔을 활성화하고, WildFly 관리 사용자를 생성하고, WildFly의 리버스 프록시로 Nginx를 설정합니다.
전제 조건
이 가이드를 위해, 우리는 2GB의 RAM, 50GB의 여유 디스크 공간, 2개의 CPU를 갖춘 최신 우분투 서버 20.04 FocalFossa에 WildFly를 설치할 것입니다.
우리가 할 일
- Java OpenJDK 11 설치
- 새 사용자 추가 및 WildFly 다운로드
- WildFly 기본 구성
- WildFly 관리 콘솔 활성화
- WildFly의 관리 사용자 설정
- WildFly의 리버스 프록시로 Nginx 설정
- 테스트
1단계 - Java OpenJDK 설치
먼저, 우분투 서버 20.04에 Java OpenJDK를 설치합니다. WildFly 설치를 위해 Java OpenJDK 11을 사용할 것이며, 이는 우분투 20.04 저장소의 기본 Java 패키지 버전입니다.
모든 패키지 저장소를 업데이트하고 아래의 apt 명령어를 사용하여 Java OpenJDK를 설치합니다.
sudo apt update
sudo apt install default-jdk모든 설치가 완료되면, 아래의 명령어를 사용하여 Java 버전을 확인합니다.
java -version아래는 당신이 얻을 결과입니다.
openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)결과적으로, 우분투 20.04에 Java OpenJDK 설치가 완료되었습니다.
2단계 - 새 사용자 추가 및 WildFly 다운로드
이 단계에서는 새 시스템 사용자 및 그룹 ‘wildfly’를 생성하고 ‘/opt/wildfly’ 디렉토리에 wildfly의 소스 코드를 다운로드합니다.
아래의 명령어를 사용하여 ‘wildfly’라는 이름의 새 사용자 및 그룹을 생성합니다.
groupadd -r wildfly
useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly다음으로, ‘/opt’ 디렉토리로 이동하여 아래의 wget 명령어를 사용하여 wildfly 소스 코드를 다운로드합니다.
cd /opt/
wget -q wget https://download.jboss.org/wildfly/20.0.1.Final/wildfly-20.0.1.Final.tar.gzwildfly 소스 코드가 다운로드되었습니다.
이제 wildfly 소스 코드를 추출하고 추출된 디렉토리의 이름을 ‘wildfly’로 변경합니다.
tar -xf wildfly-20.0.1.Final.tar.gz
mv wildfly-20.0.1.Final wildfly그 후, ‘wildfly’ 디렉토리의 소유권을 ‘wildfly’ 사용자 및 그룹으로 변경합니다.
chown -RH wildfly:wildfly /opt/wildfly결과적으로, wildfly 설치 디렉토리는 ‘/opt/wildfly’ 디렉토리에 위치하게 됩니다. wildfly 서비스는 방금 생성한 ‘wildfly’라는 새 사용자 아래에서 실행됩니다.

3단계 - WildFly 기본 구성
wildfly 소스 코드를 다운로드한 후, 우분투 시스템에서 wildfly를 설정합니다.
새 구성 디렉토리 ‘/etc/wildfly’를 만들고 샘플 구성 ‘wildfly.conf’를 그 안에 복사합니다.
mkdir -p /etc/wildfly
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/다음으로, 서비스 파일 ‘wildfly.service’를 ‘/etc/systemd/system’ 디렉토리에 복사합니다.
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/그 후, wildfly 시작 스크립트의 샘플을 ‘/opt/wildfly/bin’ 디렉토리에 복사하고 실행 가능하게 만듭니다.
cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
chmod +x /opt/wildfly/bin/*.sh이제 systemd 관리자를 새 ‘wildfly.service’ 파일을 적용하기 위해 다시 로드합니다.
systemctl daemon-reloadwildfly 서비스를 시작하고 시스템 부팅에 추가합니다.
systemctl start wildfly
systemctl enable wildflywildfly 서비스가 기본 구성으로 우분투 시스템에서 실행되고 있습니다.

아래의 명령어를 사용하여 wildfly 서비스를 확인합니다.
ss -plnt
systemctl status wildfly그리고 아래와 같은 결과를 얻을 수 있습니다.

보시다시피, wildfly는 우분투 시스템의 기본 TCP 포트 ‘8080’에서 systemd 서비스로 실행되고 있습니다.
4단계 - WildFly 관리 콘솔 활성화
이 단계에서는 wildfly를 로컬 IP 주소 ‘127.0.0.1’에서 실행하도록 설정하고 관리 콘솔을 활성화합니다. wildfly 구성 ‘wildfly.conf’, wildfly 시작 스크립트 ‘launch.sh’, 및 wildfly 서비스 파일 ‘wildfly.service’를 편집합니다.
vim 편집기를 사용하여 wildfly 구성 ‘/etc/wildfly/wildfly.conf’를 편집합니다.
vim /etc/wildfly/wildfly.conf이제 ‘WILDFLY_BIND’의 값을 로컬 IP 주소 ‘127.0.0.1’로 변경합니다.
WILDFLY_BIND=127.0.0.1wildfly 관리 콘솔을 활성화하려면 아래에 ‘WILDFLY_CONSOLE_BIND’ 구성을 추가합니다.
WILDFLY_CONSOLE_BIND=127.0.0.1저장하고 닫습니다.
다음으로, vim 편집기를 사용하여 wildfly 시작 스크립트 ‘/opt/wildfly/bin/launch.sh’를 편집합니다.
vim /opt/wildfly/bin/launch.sh‘ domain.sh ‘ 및 ‘ standalone.sh ‘ 줄에서, wildfly 관리 콘솔을 활성화하기 위해 추가 옵션을 아래와 같이 추가합니다.
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저장하고 닫습니다.
다음으로, vim 편집기를 사용하여 wildfly의 기본 서비스 파일 ‘/etc/systemd/system/wildfly.service’를 편집합니다.
vim /etc/systemd/system/wildfly.service‘ ExecStart=/opt/wildfly/bin/launch.sh…. ‘ 줄에서, 옵션 ‘ $WILDFLY_CONSOLE_BIND ‘을 아래와 같이 추가합니다.
ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND저장하고 닫습니다.
이제 systemd 관리자를 다시 로드하고 wildfly 서비스를 재시작합니다.
systemctl daemon-reload
systemctl restart wildfly
wildfly 서비스가 관리 콘솔이 활성화된 상태로 실행되고 있는지 아래의 명령어로 확인합니다.
ss -plnt
systemctl status wildfly아래는 당신이 얻을 결과입니다.

결과적으로, wildfly는 로컬 IP 주소 ‘ 127.0.0.1 ‘에서 기본 TCP 포트 ‘ 8080 ‘으로 실행되며, wildfly 관리 콘솔은 TCP 포트 ‘ 9990 ‘에서 활성화되어 있습니다.
5단계 - WildFly 관리 사용자 설정
이 단계에서는 wildfly를 관리하기 위해 wildfly가 제공하는 ‘add-user.sh’ 스크립트를 사용하여 새 사용자를 생성합니다.
아래와 같이 wildfly ‘add-user.sh’ 스크립트를 실행합니다.
sh /opt/wildfly/bin/add-user.sh사용자 유형으로, ‘ a ‘를 입력하여 관리 사용자를 생성합니다 (wildfly 관리용 관리자).
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 the realm 'ManagementRealm' as discovered from the existing property files.
Username : hakase
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 :새 사용자의 그룹에 대해서는 ‘ Enter ‘를 눌러 계속합니다.
What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[ ]:다음으로, ‘ yes ‘를 입력하여 사용자를 wildfly의 ‘ ManagementRealm ‘에 추가합니다.
About to add user 'hakase' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'hakase' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties'
Added user 'hakase' to file '/opt/wildfly/domain/configuration/mgmt-users.properties'
Added user 'hakase' with groups to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties'
Added user 'hakase' with groups to file '/opt/wildfly/domain/configuration/mgmt-groups.properties'사용자를 wildfly의 마스터-슬레이브 호스트 컨트롤러를 관리하는 프로세스로 활성화하려면 ‘ yes ‘를 입력합니다.
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의 관리 및 관리 사용자가 생성되었습니다.
6단계 - WildFly의 리버스 프록시로 Nginx 설정
이 단계에서는 우분투 시스템에서 wildfly의 리버스 프록시로 Nginx를 설치하고 구성합니다.
아래의 apt 명령어를 사용하여 Nginx 패키지를 설치합니다.
sudo apt install nginx -y모든 설치가 완료되면, ‘/etc/nginx/‘ 구성 디렉토리로 이동합니다.
cd /etc/nginx/vim 편집기를 사용하여 ‘/etc/nginx/conf.d’ 디렉토리에 ‘proxy_headers.conf’라는 새 파일을 만듭니다.
vim conf.d/proxy_headers.conf다음 구성을 붙여넣습니다.
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
add_header Front-End-Https on;
add_header Cache-Control no-cache;저장하고 닫습니다.
다음으로, ‘/etc/nginx/sites-available’ 디렉토리 아래에 wildfly에 대한 새로운 가상 호스트 구성을 만듭니다.
vim sites-available/wildflyIP 주소를 자신의 것으로 변경하고 구성을 붙여넣습니다.
server {
listen 80;
server_name SERVER-IP;
location / {
include conf.d/proxy_headers.conf;
proxy_pass http://127.0.0.1:8080;
}
location /management {
include conf.d/proxy_headers.conf;
proxy_pass http://127.0.0.1:9990/management;
}
location /console {
include conf.d/proxy_headers.conf;
proxy_pass http://127.0.0.1:9990/console;
}
location /logout {
include conf.d/proxy_headers.conf;
proxy_pass http://127.0.0.1:9990/logout;
}
location /error {
include conf.d/proxy_headers.conf;
proxy_pass http://127.0.0.1:9990;
}
}저장하고 닫습니다.
다음으로, wildfly 가상 호스트를 활성화하고 Nginx 구성을 확인합니다.
ln -s /etc/nginx/sites-available/wildfly /etc/nginx/sites-enabled/
ginx -t이제 오류가 없는지 확인한 후, Nginx 서비스를 재시작합니다.
systemctl restart nginx결과적으로, wildfly의 리버스 프록시로 Nginx 설치 및 구성이 완료되었습니다.

7단계 - 테스트
웹 브라우저를 열고 주소 표시줄에 서버 IP 주소를 입력합니다.
이제 아래와 같이 wildfly 기본 인덱스 페이지를 얻을 수 있습니다.

다음으로, 아래와 같이 URL 경로 ‘/console’에서 wildfly 관리 콘솔에 접근합니다.
wildfly 관리 사용자 및 비밀번호를 사용하여 로그인합니다.

이제 아래와 같이 wildfly 관리 대시보드를 얻을 수 있습니다.

결과적으로, 우분투 20.04 서버에서 Nginx 리버스 프록시와 함께 wildfly 설치가 성공적으로 완료되었습니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.