WildFly 애플리케이션 서버에 Spring Boot 배포
java -jar
명령을 실행하는 것처럼 간단하게 응용 프로그램을 배포할 수 있습니다. 그러나 배포를 위해 다른 JavaEE 또는 응용 프로그램 서버를 사용할 수도 있습니다. Spring Boot 프로젝트를 WildFly에 배포하는 방법을 살펴보겠습니다.부인 성명
For most of the time deploying Spring Boot on application server like WildFly does not actually makes sense since embedded servers (Tomcat by default, Jetty,...) are part of Spring Boot itself.
Spring Boot 프로젝트를 WildFly에 배포하는 것은 세 부분으로 나뉩니다.
1. WildFly 설정
먼저download WildFly application server 다운로드가 완료되면 아카이브의 압축을 풀고 저장하고 WildFly 디렉토리에서 터미널을 엽니다.
다음 단계는 WildFly 사용자를 설정하는 것입니다. 터미널은
bin
하위 디렉토리로 이동하고 Linux에서는 ./add-user.sh
, Windows에서는 add-user.bat
를 실행합니다. 그런 다음 다음 단계를 따르십시오.> What type of user do you wish to add?
a (Management User)
> Enter the details of the new user to add.
Username: wildfly
Password: w1ldFly!
Re-enter Password : w1ldFly!
> What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[ ]: <LEAVE BLANK>
> Is this correct yes/no?
yes
> yes/no?
yes
> Press any key to continue . . .
완료되면
./standalone.sh
(Linux) 또는 .\standalone.bat
(Windows)를 사용하여 WildFly 서버를 실행할 수 있습니다. 초기화가 완료되면 다음 로그가 표시됩니다.15:28:47,740 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990
이제 브라우저에
http://127.0.0.1:9990
을 입력하고 관리자 자격 증명(이전 단계에서 정의)을 입력한 후 WildFly 관리 콘솔이 표시되어야 합니다.이것으로 WildFly 서버 설정을 완료하고 Spring Boot 프로젝트 설정으로 이동합니다.
2. Spring Boot 프로젝트 설정 및 구성
먼저 Spring Boot website에 프로젝트를 생성하겠습니다. 여기서 중요한 것은 패키징으로
War
를 선택하는 것뿐입니다. 또한 다음 단계를 수행하려는 경우 Maven도 있습니다.그런 다음
Generate
버튼을 클릭하고 다운로드하고 압축을 푼 다음 프로젝트를 좋아하는 IDE로 가져옵니다(IntelliJ를 사용하지만 Eclipse, NetBeans, VSCode 등을 사용할 수도 있음).테스트 목적으로 간단한 HelloWorld API 엔드포인트를 생성합니다. 다음 코드를 작성하여
/src/main/java//HelloApi.java
아래에 Java 파일을 생성해 보겠습니다.@RestController
public class HelloApi {
@GetMapping("/hello")
public String hello() {
return "Hello from Spring Boot";
}
}
빌드(
mvn clean package
) 및 실행( java -jar /target/<APP-NAME>.jar
)을 시도할 수 있습니다. http://localhost:8080/hello
에 액세스하는 동안 Hello from Spring Boot
가 표시되어야 합니다.이제 WebFly에 배포하도록 Spring Boot 프로젝트를 구성해 보겠습니다. 먼저 프로젝트에서 Tomcat 내장 서버를 제거합니다.
pom.xml
에서 spring-boot-starter-tomcat
종속성을 찾고 <scope>
가 설정되지 않은 경우 provided
로 설정되어 있는지 확인합니다.<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
배포를 중단할 수 있는 일부 로깅 라이브러리를 제외할 수 있습니다.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
다음으로 WildFly 속성을 추가합니다.
<properties>
<java.version>15</java.version>
<deploy.wildfly.host>127.0.0.1</deploy.wildfly.host>
<deploy.wildfly.port>9990</deploy.wildfly.port>
<deploy.wildfly.username>wildfly</deploy.wildfly.username>
<deploy.wildfly.password>w1ldFly!</deploy.wildfly.password>
</properties>
분석해 보겠습니다.
java.version
는 프로젝트가 빌드되는 JDK 버전을 정의하고(이미 설정되어 있음), deploy.wildfly.XX
는 WildFly에 앱을 배포하는 데 필요한 속성이며, host
및 port
는 WildFly가 "살아 있는 ", username
및 password
는 이전 단계에서 정의한 것과 동일합니다.빌드 플러그인에서 사용할 수 있습니다.
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<version>2.0.2.Final</version>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>deploy</goal>
</goals>
</execution>
</executions>
<configuration>
<filename>${project.build.finalName}.war</filename>
<hostname>${deploy.wildfly.host}</hostname>
<port>${deploy.wildfly.port}</port>
<username>${deploy.wildfly.username}</username>
<password>${deploy.wildfly.password}</password>
</configuration>
</plugin>
완료되면 모든 것이 아직 빌드 중인지 확인하고(run
mvn clean package
) 다음 단계로 넘어갑니다.Spring Boot 프로젝트에서 마지막으로 수행할 작업은 컨텍스트 루트 경로를 설정하는 것입니다(
/
로 설정하여 앱을 domain.com/hello
에서 사용할 수 있습니다). 먼저 /src/main/webapp/WEB-INF/jboss-web.xml
아래에 새 파일을 만들고 두 번째로 파일에 추가합니다.<?xml version="1.0" encoding="UTF-8"?>
<jboss-web xmlns="http://www.jboss.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.jboss.com/xml/ns/javaee
http://www.jboss.org/j2ee/schema/jboss-web_5_1.xsd">
<context-root>/</context-root>
</jboss-web>
여기서 유일한 중요한 부분은 context-root를 정의하는
<context-root>/</context-root>
입니다.이를 통해 프로젝트(
mvn clean package
)를 빌드하고 Spring Boot 프로젝트를 WildFly 서버에 배포합니다.3. WildFly에 스프링 부트 배포
성공적으로 빌드한 후
.war
디렉토리에서 /target
파일을 찾아야 합니다. 이것은 WildFly에 배포할 프로젝트의 최종 형식입니다.WildFly의 관리 콘솔에서 navbar에서
Deployments
를 선택한 다음 Upload Deployment
를 선택했습니다.이제 우리가 해야 할 일은
war
파일을 업로드하고 배포하는 것입니다.성공적으로 배포한 후 http://127.0.0.1:8080/hello으로 이동하여 최종 결과를 확인할 수 있습니다.
We could (and should) skip last step altogether and simply use Maven for deploying to WildFly by using
mvn clean install
소스 코드는 GitHub에서 사용할 수 있습니다.
표지 사진: Pexels의 Min An
Reference
이 문제에 관하여(WildFly 애플리케이션 서버에 Spring Boot 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jakmar17/deploy-spring-boot-on-wildfly-application-server-2029텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)