jetty 설정하고 실행하기

요근래 프로젝트를 하면서 JETTY를 쓸일이 생겼다.
Jetty에 대하여는 아니고 간단히 쓰는법을 써볼까한다.
쓰기는 정말 쉽다.

JETTY 설치

http://www.eclipse.org/jetty/download.html
에서 down 받으면 된다.

$ wget http://central.maven.org/maven2/org/eclipse/jetty/jetty-distribution/9.3.14.v20161028/jetty-distribution-9.3.14.v20161028.tar.gz
$ tar -xvzf jetty-distribution-9.3.14.v20161028.tar.gz
$ mv jetty-distribution-9.3.14.v20161028.tar.gz jetty

실행

빌드한 war파일은 webapps폴더에 넣어놓으면 된다. 이때 주의할점은 톰켓처럼 /로 시작하는 것은 반드시 파일명이 root.war여야 한다.

파일명이 abc.war이면 이 servlet의 url들은 /abc/xxx 로 mapping된다~

jetty실행은 jetty 폴더에서
$ java -jar start.jar -Djetty.port=포트

로 지정하면 된다.

encoding의 경우는 아래 옵션을 더 준다.
-Dfile.encoding=UTF-8

서비스 할 때

서비스 할 때는 jetty를 백그라운드 처럼 실행시켜야한다. 그럴 때는 nohup을 쓰면 된다. jetty실행 코드를 .sh로 만들어 놓고 permission 은 755 이상으로 해야만한다. (그냥 실행시키면 안된다)

nohup java -jar -Djetty.port=8081 start.jar 2>> nohup.out >> nohup.out &

&는 백그라운드로 실행시킨다는 뜻이다. 이렇게 하면 백그라운드로 실행되고 nohup.out에 로그가 남는다.

jetty 종료

데몬으로 돌릴때는 그냥 터미널을 끄면 되지만 nohup으로 실행시키려면 jetty에 stop port와 키를 설정해줘야한다. jetty는 해당 포트를 보고 있다가 종료키가 넘어오면 jetty를 종료한다.

실행

nohup java -jar -Djetty.port=8081 start.jar -Dfile.encoding=UTF-8 -DSTOP.KEY=stop_jetty -DSTOP.PORT=8082 2>> nohup.out >> nohup.out &

종료

$ java -jar start.jar -DSTOP.KEY=stop_jetty -DSTOP.PORT=8082 --stop

Comments

comments powered by Disqus
comments powered by Disqus