2018년 1월 4일 목요일

Jetty 사용하기.

자바 기반의 웹 서비스를 구동하기 위해선 Tomcat이나 Jetty 같은 WAS(서블릿 컨테이너)를 선정해야 한다. Tomcat을 가장 많이 쓰는 것으로 알고 있지만 Jetty도 나름의 장점이 있다.
Jetty는 다른 WAS에 비해 가볍고 설정이 쉬우며, 사용자가 원하면 Jetty의 HTTP 모듈을 애플리케이션에 직접 넣어 구동시킬 수도 있다.
(Jetty엔 'Don't deploy your application in Jetty, deploy Jetty in your application! 이라는 슬로건이 있다.)

Jetty를 설치하는 방법부터 사용 방법까지 간단히 알아보기로 하자.

Jetty는 아래 url에서 다운로드할 수 있다.
http://www.eclipse.org/jetty/download.html

Jetty의 설정과 관련된 내용이 궁금하면 아래 링크를 참조하면 되는데, 굳이 설정을 변경할 일은 크게 없어 보인다.
http://www.eclipse.org/jetty/documentation/current/

Jetty를 설치하면,
Jetty XML 설정 파일이 위치하는 etc/ 폴더가 있고,
start.ini
start.jar
webapps/ 폴더가 생성된다.

start.jar를 실행시키면 Jetty가 실행되는 구조인데, 배포하려는 war 파일을 webapps 폴더에 넣어주면 된다. 만약 파일명이 abc.war이면 이 servlet의 url은 /abc/...로 매핑된다는 점을 기억하자.

Jetty 실행 방법은 좀 전에 적혀있듯이 그냥 start.jar를 실행시켜주면 된다.
java -jar start.jar 명령어와 함께 실행 옵션을 같이 부여할 수 있다.

Jetty를 종료할 땐 Jetty를 구동한 콘솔에서 Ctrl + C를 누르면 되고,
실행 콘솔과 종료 콘솔이 다른 경우엔 STOP.PORT, STOP.KEY 시스템 프로퍼티를 이용해서 Jetty를 켜고 끄면 된다.

+ Spring boot에선 기본 WAS가 Tomcat으로 지정되어 있는데, Jetty로 변경하고 싶은 경우 다음과 같이 설정을 변경해주면 된다. 
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot/groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>

Gradle 설정은 아래 링크의 73.11 Use Jetty instead of Tomcat을 참고하면 된다.

댓글 없음:

댓글 쓰기