티스토리 뷰
별다른 상황이 없다면 개발하는 동안에 Eclipse 에서 Servers 로 Tomcat 을 등록하고 Publish 를 하고 사용하게 된다. 그러나 상황에 따라서는 Eclipse 를 이용하지 않고 Tomcat 에 직접 배포를 해서 테스트를 해야하는 상황이 발생하게 된다. 이 글을 작성하게 된 것도 Eclipse에서 Tomcat 를 실행하면 아무 문제 없는데 테스트 서버에 배포를 해서 실행하게 되면 Tomcat 실행 중에 오류가 발생하는 것 때문이다. 임시로 간략하게 테스트 한 것을 정리해 놓도록 한다.
Tomcat 은 설치 버전이 아니라 Zip 배포 버전을 사용하였고, 위치는 D:\Tomcat7 이며, 웹 어플리케이션은 test-apps (프로젝트 명)라고 가정하고 테스트를 진행하도록 한다. (단, 하기의 내용은 실제 각 개발자의 환경에 따라서 다를 수 있으므로 반드시 맞는 방법이라고 할 수는 없다)
배포 대상 생성 및 복사
Eclipse에서 빌드를 하여 War 파일과 배포 폴더를 생성한다. 보통은 Eclipse에서 Maven 을 이용하여 빌드를 하게 되므로 빌드 후에 해당 프로젝트의 Target 폴더를 확인하면 War 파일과 배포 폴더가 생성된 것을 확인할 수 있다. 배포는 War 파일이 아니라 배포 폴더 (test-apps) 를 이용하도록 한다.
배포 폴더를 복사하여 Tomcat 폴더의 "webapps" 밑에 넣도록 한다. (보통은 WebContent / Library / Classes 들을 배포하지만, Maven 빌드릉 통해서 해당 항목들이 모두 배포 폴더와 War에 포함되어 있으므로 폴더채로 복사를 하면 된다)
Context 설정 (server.xml 파일)
Tomcat 폴더 밑의 conf 폴더에 server.xml 파일이 존재한다. 이 파일에 Tomcat 이 구동되었을 때 사용할 어플리케이션 Context 를 설정해 주어야 한다. server.xml 파일을 열고 "<Host>...</Host>"
요소를 찾아서 아래와 같이 Context 정보를 바로 위쪽에 설정하도록 한다. (이미 Eclipse에서 테스트가 된 상태라면 Workspace 의 Servers 폴더에 존재하는 server.xml 에서 내용을 복사해서 사용하면 된다)
<Context docBase="프로젝트명(test-apps)" path="/" reloadable="true" source="org.eclipse.jst.jee.server:프로젝트명(test-apps)" />
위의 docBase 와 path 은 실제 Tomcat 의 webapps 폴더 밑의 ROOT 폴더등과 연동되어 처리되는 경로
라고 생각하면 된다. 이 부분에 대해서는 많은 정보들이 정리되어 있기 때문에 찾아서 이해하기를 권장한다. 제대로 구성이 되었지만 실제 JSP 페이지 등에 접근할 수 없다면 거의 대부분은 docBase와 Path 가 맞지 않아서 발생한다.
Connector 설정 (server.xml 파일)
Tomcat 기본은 Connector 가 8080 포트를 바라보게 되어 있다. 실행하여 테스트 하는데 별다른 문제가 없다면 이 과정은 생략해도 된다. 그러나 테스트 대상 프로젝트는 80 포트에 SSL 을 이용하도록 구성하여야 하기 때문에 다음과 같이 Connector 를 조정해 주어야 한다. (이미 Eclipse에서 테스트가 된 상태라면 Workspace 의 Servers 폴더에 존재하는 server.xml 에서 내용을 복사해서 사용하면 된다)
...
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true"/>
...
<Connector SSLEnabled="true" URIEncoding="utf-8" clientAuth="false" keystoreFile="SSL 키 파일 경로" keystorePass="Key Store 비밀번호" keystoreType="pkcs12" maxThreads="150" port="8443" protocol="HTTP/1.1" scheme="https" secure="true" sslProtocol="TLS"/>
...
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443"/>
...
상기와 같이 설정을 하고 Tomcat 을 재 실행하면 된다. 그러나 만일 SSL 관련하여 오류가 나타난다면 server.xml 파일에서 다음과 같이 SSLEngine Listener 부분을 주석으로 처리해 주면 된다.
<!--<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />-->
이렇게 해서 Eclipse 에서 배포를 수동으로 배포하는 것을 테스트 볼 수 있다.
Written by Morris (MSFL).
'개발 > 자바' 카테고리의 다른 글
Divide by Zero === Exception?? Really?? (0) | 2017.03.28 |
---|---|
[Maven] Multi-Module Project에서 Java Compiler 설정하기 (0) | 2016.12.18 |
[TOMCAT] 운영할 때 JAVA_OPTS 설정을 조심해서 사용하자. (0) | 2016.11.24 |
- Total
- Today
- Yesterday
- SolrCloud
- Node
- kudo-cli
- galera
- Kudo
- Cluster
- 쿠버네티스
- Replica
- opencensus
- Packages
- macos
- zookeeper
- operator
- Kubernetes
- KUBECTL
- collection
- NFS
- CentOS 8
- dynamic nfs client provisioner
- docker
- CentOS
- Galera Cluster
- operator framework
- GIT
- terrminating
- k8s
- provisioner
- leader
- custom resource
- ssh
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |